用CryptoAPI进行RSA非对称加密解密,该怎么处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用CryptoAPI进行RSA非对称加密解密,该怎么处理相关的知识,希望对你有一定的参考价值。

不同的需求,方式不一样:
1 私钥拥有者发布信息,用私钥加密, 阅读者用公钥解密
2 特殊情况下,比如 传递des密钥,可以用 接收者公布的公钥加密,接收者用自己的私钥解密
参考技术A 计算n=p*q=33 求密文: 密文c=m^e mod n=21952 mod 7 求明文: 明文m=c^d mod n=823543 mod 33=28 在使用时,首先将明文数字化,然后分组,每组数据k(0=

非对称加密Rsa数字签名Go实战

什么是非对称加密

非对称加密算法需要两个密钥:publickey和privatekey。如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

公钥:可以公开的密钥私钥:需要妥善保管的密钥,知道人越少越好数据的机密性只能单方向保证加密效率低

什么是数字签名

将数字签名理解为附加到消息或文档中的代码。在生成数字签名之后,其可以作为证明消息从发送方到接收方的传输过程中没有被篡改的证据。

签名的生成

有原始数据对其进行哈希运算-> 散列值使用非对称加密的私钥对散列值加密 -> 签名将原始数据和签名一并发送给对方

签名的验证

接受数据

原始数据数字签名


数字签名,需要使用公钥解密,得到散列值对原始数据进行hash运算,得到新的散列值散列值进行比对

go实现Rsa数字签名

使用rsa生成密钥对

生成密钥对序列化保存到磁盘文件

非对称加密Rsa数字签名Go实战

使用私钥对数字签名

非对称加密Rsa数字签名Go实战

使用公钥进行签名认证

非对称加密Rsa数字签名Go实战

结果展示

GitHub https://github.com/potaxie/go-crypto

Wechat potaxie


作者主页:

https://learnblockchain.cn/people/633




以上是关于用CryptoAPI进行RSA非对称加密解密,该怎么处理的主要内容,如果未能解决你的问题,请参考以下文章

非对称加密及RSA加密算法

非对称加密Rsa数字签名Go实战

加密解密

CWE-780:RSA算法未使用最优非对称加密填充漏洞

iOS加密:RSA

RSA的公钥、私钥