仅使用共享密钥短语的.NET加密/解密

时间:2011-03-27 23:25:35

标签: .net encryption

我的目标是使用商定的密钥短语和标准加密方案对字符串进行加密,将其发送给第三方,让他们能够使用商定的密钥短语对其进行解密。

当我更深入地研究用于加密的.NET类时(AES是我想要使用的),很明显它比我最初更复杂。从有限的数量来看,我理解它似乎同意共享的关键短语是不够的。 salt和初始化向量都需要在加密和解密之间是通用的。

我错过了什么吗?有没有办法加密我想要的文本(使用.NET)并让别人能够仅使用共享密钥短语来解密邮件?

我也不能依赖使用.NET解密消息的人。因此,我期待着一种标准的加密方法。

1 个答案:

答案 0 :(得分:1)

对于基于密码的安全加密,您需要双方都知道的 per-message salt和初始化向量。

然而,这不是问题。盐和IV应该在发送端随机生成,并与密文一起发送到目的地(如果观察者看到盐和IV,则可以 - 只要你为每条消息重新随机生成它们,这个不会损害系统的安全性。)

无论如何,您必须将密文发送到目的地,因此这只会添加少量必须发送的附加数据。目的地唯一需要的先验信息是密码。

对于标准方法,您可以使用RFC2898中的PBES2。