Crypto API中Exchange密钥和签名密钥之间的区别

时间:2013-03-22 14:52:56

标签: .net security cryptography cryptoapi

在.NET加密API中,我注意到CspParameters对象具有KeyNumber属性,可用于指定密钥是签名密钥还是交换密钥。

就RSA密钥而言,两者之间是否存在真正的区别?具体来说,如果我使用交换密钥进行签名,那么生成的密钥是否存在某些内容会使其不适合或不安全?

1 个答案:

答案 0 :(得分:1)

您不应使用交换密钥进行签名。 根据{{​​3}},交换密钥将分发给其他人,以便他们可以加密要发送给您的内容。如果他们想要签署消息以表明他们发送了消息,那么他们将使用自己的MSDN(签名密钥)进行签名,并使用您的公钥进行加密。在Diffie-Hellman术语中,如果您使用公钥签名,然后与其他人分发/交换,他们就可以签署消息,使其看起来像是来自您。只需将交换密钥视为您的公开,并将签名密钥视为您的私密密钥。