3

我有一个在 C# 中进行 RSA 加密的类,我使用了默认的 RSACryptoServiceProvider 类。但我对以下内容有疑虑;如果您有输入单词 hello 并且加密字符串返回为 ABCDE,如果您对输入 hello 执行另一个加密操作,对 RSA 使用相同的密钥(公钥和私钥),输出是否会再次为 ABCDE?

提前致谢

4

1 回答 1

5

事实上,RSA 是一种确定性加密算法,因此给定相同的密钥和明文,将输出相同的密文。RSA 通常与填充方案一起使用以保证语义安全。

这当然只是一般情况。我不能保证 C# 中的 RSACryptoServiceProvider

编辑:

当然,您选择的填充方案也需要相当伪随机。OAEP 是一种常用的。

于 2010-03-14T08:56:34.670 回答