在.NET加密API中,我注意到CspParameters对象具有KeyNumber
属性,可用于指定密钥是签名密钥还是交换密钥。
就RSA密钥而言,两者之间是否存在真正的区别?具体来说,如果我使用交换密钥进行签名,那么生成的密钥是否存在某些内容会使其不适合或不安全?
答案 0 :(得分:1)
您不应使用交换密钥进行签名。 根据{{3}},交换密钥将分发给其他人,以便他们可以加密要发送给您的内容。如果他们想要签署消息以表明他们发送了消息,那么他们将使用自己的MSDN(签名密钥)进行签名,并使用您的公钥进行加密。在Diffie-Hellman术语中,如果您使用公钥签名,然后与其他人分发/交换,他们就可以签署消息,使其看起来像是来自您。只需将交换密钥视为您的公开,并将签名密钥视为您的私密密钥。