Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.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
C# 用RSACryptoServiceProvider在C中实现三通协议_C#_Encryption_Cryptography_Rsa - Fatal编程技术网

C# 用RSACryptoServiceProvider在C中实现三通协议

C# 用RSACryptoServiceProvider在C中实现三通协议,c#,encryption,cryptography,rsa,C#,Encryption,Cryptography,Rsa,我正在尝试使用RSA在C中实现。然而,这要求所讨论的加密是可交换的,我不知道RSA是否是可交换的 此外,它需要至少就我所知的加密能够用与加密相同长度的密钥加密自己的密码文本,RSA似乎无法做到这一点。我尝试过,但得到了一个加密异常错误长度 有人有什么有用的提示或想法吗?维基百科的文章没有说你需要像RSA这样的公钥算法。对我来说,它听起来像是任何对称密钥算法,其中加密和解密函数具有关于交换性的这个属性。@dtb啊,你说得有道理。你知道AES是否是可交换的吗?对不起,我不知道它是否是可交换的。我会搜

我正在尝试使用RSA在C中实现。然而,这要求所讨论的加密是可交换的,我不知道RSA是否是可交换的

此外,它需要至少就我所知的加密能够用与加密相同长度的密钥加密自己的密码文本,RSA似乎无法做到这一点。我尝试过,但得到了一个加密异常错误长度


有人有什么有用的提示或想法吗?

维基百科的文章没有说你需要像RSA这样的公钥算法。对我来说,它听起来像是任何对称密钥算法,其中加密和解密函数具有关于交换性的这个属性。@dtb啊,你说得有道理。你知道AES是否是可交换的吗?对不起,我不知道它是否是可交换的。我会搜索一些三通道协议的官方规范,例如,NIST或IETF,它确切地告诉您要做什么以及使用什么算法。根据维基百科文章发明自己的加密机制将导致灾难。AES是不可交换的。无填充RSA是一种非常有用的方法。只有少数特定的数学结构既安全又可交换。我怀疑你会发现任何官方的规格,因为三通似乎很没用。为什么要在普通RSA上使用它呢?这确实是一种在实践中没有使用过的算法。但要想玩弄它,你所需要的只是一个大素数,对它来说DL和DH都很难。当然,使用system.numberics.BigInteger中的ModPow方法在C中进行模幂运算很容易。