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

仅使用共享密钥短语进行.NET加密/解密,.net,encryption,.net,Encryption,我的目标是使用约定的密钥短语和标准加密方案对字符串进行加密,将其发送给第三方,让他们能够使用约定的密钥短语对其进行解密 当我深入研究.NET类进行加密时(AES是我想要使用的),很明显它比我原来认为的要复杂。从数量有限的情况来看,我认为仅仅同意一个共享的关键短语是不够的。salt和初始化向量都需要在加密和解密之间共用 我错过什么了吗?有没有一种方法可以加密我想要的文本(使用.NET)并让其他人能够仅使用共享密钥短语对消息进行解密 我也不能依赖于使用.NET解密消息的人。因此,我一直在寻找一种标准

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

当我深入研究.NET类进行加密时(AES是我想要使用的),很明显它比我原来认为的要复杂。从数量有限的情况来看,我认为仅仅同意一个共享的关键短语是不够的。salt和初始化向量都需要在加密和解密之间共用

我错过什么了吗?有没有一种方法可以加密我想要的文本(使用.NET)并让其他人能够仅使用共享密钥短语对消息进行解密


我也不能依赖于使用.NET解密消息的人。因此,我一直在寻找一种标准的加密方法。

对于基于密码的安全加密,您确实需要一个双方都知道的每条消息salt和初始化向量

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

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


对于标准方法,您可以使用来自的PBES2。对于基于密码的安全加密,您确实需要双方都知道的每条消息salt和初始化向量

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

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


至于标准方法,您可以使用。

中的PBES2,这是有意义的。发送随机盐的最佳方式是什么?@webworm:似乎很合适。这很有道理。发送随机盐的最佳方式是什么?@webworm:似乎很合适。