RSA加密C#
我有一个类,在C#中执行RSA加密,其中我使用了默认的RSACryptServiceProvider类。但我有一个关于以下方面的担忧;如果您的输入是hello,并且加密字符串作为ABCDE返回,如果您对输入hello执行另一个加密操作,使用RSA的相同密钥(公共密钥和私有密钥),输出是否会再次为ABCDERSA加密C#,c#,rsacryptoserviceprovider,C#,Rsacryptoserviceprovider,我有一个类,在C#中执行RSA加密,其中我使用了默认的RSACryptServiceProvider类。但我有一个关于以下方面的担忧;如果您的输入是hello,并且加密字符串作为ABCDE返回,如果您对输入hello执行另一个加密操作,使用RSA的相同密钥(公共密钥和私有密钥),输出是否会再次为ABCDE 提前感谢事实上,RSA是一种确定性加密算法,因此,给定相同的密钥和明文,将输出相同的加密文本。RSA通常与填充方案一起使用,以确保语义安全 当然,这只是一般情况。我不能担保C中的RSACypt
提前感谢事实上,RSA是一种确定性加密算法,因此,给定相同的密钥和明文,将输出相同的加密文本。RSA通常与填充方案一起使用,以确保语义安全 当然,这只是一般情况。我不能担保C中的RSACyptoServiceProvider# 编辑:
当然,您选择的填充方案也需要是相当伪随机的。OAEP是一种常用的方法。值得注意的是,正因为如此,如果攻击者有足够的数据且数据没有填充,RSA很容易受到统计分析的攻击。出于这个原因,SSH等协议使用RSA进行身份验证,并使用不同的算法进行数据加密。但填充方案也是确定性的吗?@Henk Holterman:这有点傻,不是吗我也这么认为。但这对最初的问题意味着什么?Ryan,我的答案中有什么不足吗?