1

愚蠢的问题,但 IIRC RSA 只能根据其密钥大小加密有限数量的位。非对称密码可以使用相同的密钥长度加密更多(并且运行速度更快)。在这种情况下,我可以使用RSACryptoServiceProvider.SignHash仅签署有限数量的位吗?还是可以在签名时使用而我不需要使用AES来签名?(我可以这样做,因为内容是用 AES 加密的)。

4

1 回答 1

3

RSA 确实只能加密有限数量的数据。对称密码可以用更短的密钥长度加密更多,并且确实运行得更快(给定现代密码)。

您只能使用SignHashIndeed 签署有限数量的数据。该方法只希望您通过数据传递散列字节,这些字节总是相对较小,例如大约 16 到 64 个字节(MD5 到 SHA512)。RSA 密钥/模数大小通常要大得多,即使 RSA 1024 的大小已经是 128 字节,尽管您需要从该数字中减去相当多的填充开销。

您通常不使用 AES 进行签名。使用对称密码进行签名称为 MAC'ing,但对于签名,RSA 与上述哈希算法配对。

在您的情况下,我会尝试阅读更多有关密码学的内容,并且会保留为特定库提供的示例。

于 2012-09-13T23:34:15.720 回答