RSA Signature Mechanics
所以,我一直在读RSA加密,其中公钥用于加密,而私钥用于解密。对于RSA签名,私钥执行加密操作以生成签名,公钥对签名执行解密操作以验证签名。
在我看来,加密/解密操作只是将数据转换成另一种形式,所以我想也可以通过使用私钥执行解密操作来生成签名,发送方通过使用公钥执行加密操作来验证签名。
综上所述:RSA加密->公钥加密,私钥解密RSA签名->私钥加密,公钥解密
我的问题是这是否也有效:RSA签名->私钥对消息的哈希执行解密操作以生成签名,公钥执行加密操作以验证签名
RSA操作只是
这是因为
对于查看RSA签名的基本方法,签名部分只需切换e和d,使sign使用d并验证use e…这就引出了一个看似简单的说法……签名只是用私钥加密…
请仔细阅读下一行:
无论你在网上看到什么…签名和加密不同
是的,计算RSA签名涉及到上面的RSA操作…它涉及到D…但改变的是另一个输入…X…这不是您要签名的消息…这是Matt前面指出的填充结果(类似于padd(hash(message)),padd和hash是可以选择的函数)
"签名是用私有指数加密的"只是数学部分,加密理论部分…这种看待它的方式通常是皱眉…对于所有的实际实现,它周围都有很多其他的东西,使得签名和加密两个完全不同的函数…对于理论部分来说,它不够精确