非对称加密的加密解密与签名验签

写在前面,在网络传输中,我们的各种请求和相应,无法避免被人拦截,这就可能导致消息的泄露,为了解决这个问题,发送方可以对报文(数据)进行加密跟签名,接收方进行解密跟验签。

加密解密:公钥加密,私钥解密,保证信息的保密性,只有拥有密钥的双方才能获知。

签名验签:私钥签名,公钥验签,保证信息的来源,防止信息被篡改。

说一个场景,A 公司和 B 公司之间的接口对接,采用非对称加密技术,对数据加密。

A 生成一对密钥(公钥 A公 和私钥 A 私),B 也生成一对密钥(公钥 B公 和私钥 B私)。

先说加解密的问题,A 向 B 发起请求,那怎么才能保证数据不被获取到呢?先想一个问题,不管是A的公钥还是B的公钥,都是要发送给对方的,不管以何种方式,比如发QQ或者微信告知,都有可能被人拦截,公钥泄露,但是私钥都是各自保存在自己的数据中,不进行网络传输,所以私钥理论上是不可能被人获知的,那么数据加密用的是公钥还是私钥?解密用的公钥还是私钥?

obviously,A向B 发请求,用B公钥进行加密,B收到数据后,使用B的私钥进行解密,这样,即使数据传输过程中,被人拦截了,但是因为别人不知道私钥,因此也无法解密数据,但是由于公钥是公开的,不能保证别人不会篡改数据。

 

再说签名跟验签的问题,上面说了,加密解密不能保证数据不被篡改,那么签名的作用就来了。A向B 发请求,A 使用 A的私钥进行数据签名,B 收到请求后,使用A的公钥进行验签。由于A的私钥不可能被获知,所以即使有人拦截到了信息,也不能对内容进行篡改。

 

两者结合使用大法好。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值