问题描述
|
RSA加密/解密指数和RSA签名/检查指数之间有什么区别吗?
解决方法
没有。 RSA公钥/私钥对的公钥包含一个指数和一个模数,无论它是用于签名还是加密。最常见的指数是0x100001。
RSA上的Wikipedia文章相当不错。
,用于签名的RSA密钥对和用于加密解密的RSA密钥对在结构上没有区别。从理论上讲,您可以同时使用一对,但这为新攻击开辟了道路,因此不建议这样做。
另一方面,私有和公共指数之间存在差异:
公共指数可能会相对较小,这会缩短密钥大小并加快加密和签名验证的速度。
正如查理·马丁(Charlie Martin)所说,0x10001 = 2 ^ 16 +1 = 65537是常见的选择。
另一方面,私有指数是从公钥和模因数分解中得出的,通常按模本身的大小顺序。由于它将保持私有状态,因此不能小(否则很容易猜到),并且还需要满足与公共指数的算术关系,这使其自动变大。
这会使幼稚的签名/解密比相应的公共操作慢,但另一方面,
可以通过使用模量和
中国余数定理,即分别计算模
p
和modul1ѭ而不是模m = p·q
和ѭ1
然后合并结果。
请注意,我们区分了公开(加密/验证)和私有(解密/签名)指数,
不在签名/验证和加密/解密指数之间。