1

我只是在玩,ECDiffieHellmanCng我想知道什么SecretAppendSecretPrepend可能是为了什么。谷歌没有那么有帮助。任何想法?

http://msdn.microsoft.com/en-us/library/system.security.cryptography.ecdiffiehellmancng.secretappend.aspx

http://msdn.microsoft.com/en-us/library/system.security.cryptography.ecdiffiehellmancng.secretprepend.aspx

4

1 回答 1

3

仅生成一个秘密值通常不足以使用密钥协商生成密钥。尽管秘密应该包含足够的对称密钥熵,但它不太可能是均匀分布的。因此,密钥协议应该——至少在理论上——包含一个基于密钥的密钥派生函数。现在这些密钥派生函数具有可选参数来派生特定密钥。您指出的方法可用于提供这些附加参数。

通常,对于新协议,最好不要使用这些属性。如果您需要多个密钥,请在输出上执行额外的基于密钥的密钥派生函数(或使用 SHA-512,并提取两个密钥)。其他实现可能根本不提供这些参数。如果现有协议需要这些属性,最好只使用它们。

于 2013-09-06T21:37:00.250 回答