【发布时间】:2018-02-18 06:55:19
【问题描述】:
所以,我一直在阅读有关 RSA 加密的信息,其中公钥用于加密,而私钥用于解密。而对于 RSA 签名,私钥执行加密操作生成签名,公钥对签名执行解密操作以验证它。
在我看来,加密/解密操作只是将数据转换为另一种形式,所以我想也可以通过使用私钥执行解密操作来生成签名,并且发送者通过执行加密操作来验证签名使用公钥。
总之:
RSA 加密 -> 公钥加密,私钥解密
RSA 签名 -> 私钥加密,公钥解密
我的问题是这是否也有效:
RSA 签名 -> Private Key 对消息的哈希执行 DECRYPTION 操作以生成签名,Public Key 执行 ENCRYPTION 操作以验证签名
【问题讨论】:
-
我投票结束这个问题,因为它不是一个编程问题,而是关于 RSA 的操作。
-
没有给定密钥的“加密”或“解密”操作。只有“RSA 操作”,使用私钥或公钥(和模数)。 OpenSSL 有
RSA_private_encrypt和类似的函数,但是它们处理的是填充和算法标识符之类的东西,底层的数学函数是相同的。
标签: authentication cryptography rsa