RSA的加密和签名的适用场景

RSA加密(防泄漏)

1:A(如:客户端)在本地生成私钥和公钥
2:A将公钥发给B(如:服务器)
3:B使用公钥加密后,将密文返回给A
4:A使用本地的私钥解密

防泄漏的原理:
由于私钥存在本地传输内容是公钥和密文,即使中途被黑客截获,也无法解密。

RSA签名(防篡改)

1:A生成私钥和公钥,公钥公开,私钥签名(加密)
2:A将明文、签名发给B
3:B使用公开的公钥验签(解密),验签结果和明文一致,则证明内容没被黑客篡改过。

防篡改的原理:
由于公钥是公开的, 并且只能用来开对应私钥的锁,因此,即使黑客篡改了明文没有私钥对明文进行重新签名,所以B通过验签比对即可发现明文已经被篡改。
为了减少计算开销,签名只要加密内容的 hash即可,B将收到的明文内容hash后 与用公钥对签名解密后的内容 进行比对 即可验证是否被篡改。

为什么要公开:
如果公钥不是公开的,而是和明文、签名一起发出,那么黑客即可通过自己的私钥进行篡改公钥、明文以及签名。
所以A和B在第一次连接时仅做公钥交换,后续再对交互内容进行签名加密就可以保证安全了。

同时防泄漏和防篡改

结合二者,A和B分别生成密钥对(公钥a1,私钥a2)和密钥对(公钥b1,私钥b2),A发出公钥a1给B加密或验签,B同样发出公钥b1给A加密或验签,即可保证更大限度的安全。简单来说,这便是一个交换公钥的过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值