我有一个使用默认RSACryptoServiceProvider类进行RSA加密的C#类。但是我有一个疑虑:如果您输入的是单词"hello",并且加密后的字符串返回为"ABCDE",如果您再次使用相同的RSA密钥(公钥和私钥)对输入的"hello"进行加密,输出是否仍然是"ABCDE"?
提前感谢。
提前感谢。
事实上,RSA是一种确定性加密算法,因此在给定相同的密钥和明文的情况下,输出的加密文本将是相同的。通常使用填充方案使RSA具有语义安全性。
当然,这只是一般情况。我不能保证C#中的RSACryptoServiceProvider。
编辑:
当然,您选择的填充方案也需要非常伪随机。OAEP是其中一个常用的方案。