rsa加密算法_非对称加密Rsa数字签名Go实战

本文介绍了如何使用非对称加密来实现信息安全领域中热点话题-数字签名

什么是非对称加密

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

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

什么是数字签名

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

签名的生成

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

签名的验证

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

go实现Rsa数字签名

使用rsa生成密钥对

  • 生成密钥对
  • 序列化
  • 保存到磁盘文件
a3b82599612e7c098be62b459a584984.png
0ab871af73c7c147e3f665677080f89f.png

使用私钥对数字签名

51e33916a7644324a96ddad13cb2a77e.png

使用公钥进行签名认证

448f0923c542b7c3528d13aa93481252.png

结果展示

e82f8976256f55a08adc16c90b3c51bb.png

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

Wechatpotaxie

什么是非对称加密

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

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

什么是数字签名

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

签名的生成

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

签名的验证

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

go实现Rsa数字签名

使用rsa生成密钥对

  • 生成密钥对
  • 序列化
  • 保存到磁盘文件
a3b82599612e7c098be62b459a584984.png
0ab871af73c7c147e3f665677080f89f.png

使用私钥对数字签名

51e33916a7644324a96ddad13cb2a77e.png

使用公钥进行签名认证

448f0923c542b7c3528d13aa93481252.png

结果展示

e82f8976256f55a08adc16c90b3c51bb.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值