752760
rsa原理: 现有公钥 (n,e)和私钥(n,d) 将原文m加密成密文c
// 公钥加密公式
c = ( m^e ) mod n
// 私钥钥解密公式
m = ( c^d ) mod n
同样的公式把c和m对调就是私钥加密公钥解密了,所以我得出的结论是公钥私钥是对等的,是可以做到私钥加密公钥解密的,这一点node-rsa有支持。 关于私钥签名公钥验证,实际上是不是就是相当于
// 签名
const signature = rsa.encryptPrivate(sha256(data));
// 验证
if(rsa.decryptPublic(signature) === sha256(data)) {
console.log('验证成功');
}
如果说公钥私钥是对等的话,实际上是不是也可以做到公钥签名,私钥验证?不知道为什么node-rsa没有实现这个方法,这是出于什么考虑呢?还是是我想的有问题? 关于这个rsa网上的很多博客都是说他只有两个功能,一个是公钥加密,私钥解密。一个是私钥签名,公钥验证。这是不是也是有问题的?