Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RSA加密C#_C#_Rsacryptoserviceprovider - Fatal编程技术网

RSA加密C#

RSA加密C#,c#,rsacryptoserviceprovider,C#,Rsacryptoserviceprovider,我有一个类,在C#中执行RSA加密,其中我使用了默认的RSACryptServiceProvider类。但我有一个关于以下方面的担忧;如果您的输入是hello,并且加密字符串作为ABCDE返回,如果您对输入hello执行另一个加密操作,使用RSA的相同密钥(公共密钥和私有密钥),输出是否会再次为ABCDE 提前感谢事实上,RSA是一种确定性加密算法,因此,给定相同的密钥和明文,将输出相同的加密文本。RSA通常与填充方案一起使用,以确保语义安全 当然,这只是一般情况。我不能担保C中的RSACypt

我有一个类,在C#中执行RSA加密,其中我使用了默认的RSACryptServiceProvider类。但我有一个关于以下方面的担忧;如果您的输入是hello,并且加密字符串作为ABCDE返回,如果您对输入hello执行另一个加密操作,使用RSA的相同密钥(公共密钥和私有密钥),输出是否会再次为ABCDE


提前感谢

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

当然,这只是一般情况。我不能担保C中的RSACyptoServiceProvider#

编辑:


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

值得注意的是,正因为如此,如果攻击者有足够的数据且数据没有填充,RSA很容易受到统计分析的攻击。出于这个原因,SSH等协议使用RSA进行身份验证,并使用不同的算法进行数据加密。但填充方案也是确定性的吗?@Henk Holterman:这有点傻,不是吗我也这么认为。但这对最初的问题意味着什么?Ryan,我的答案中有什么不足吗?