Elliptic Curve Diffie-Hellman(ECDH) - 什么是SecretPrepend和SecretAppend?

时间:2013-09-06 11:50:49

标签: c# .net encryption cryptography diffie-hellman

我只是在玩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

1 个答案:

答案 0 :(得分:3)

生成密钥通常不足以使用密钥协议生成密钥。虽然秘密应该包含对称密钥的足够熵,但它不可能是均匀分布的。因此,关键协议应该 - 至少在理论上 - 包含基于密钥的密钥推导函数。现在,这些密钥派生函数具有可选参数以导出特定密钥。您指向的方法可用于提供这些附加参数。

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