在工作中要用到安全通信,写了一个DEMO。
具体的通信流程如下:
发送方:
1.
获取
发送的原文
2.
利用
系统的随机数产生对称密钥
3.
计算
原文的摘要
4.
用
自己的私钥对摘要
进行
加密
(签名
)
5.
用
对称密钥对(原文和签名)进行加密
6.
用
对方的公钥对称密钥进行加密(加密密钥)
7.
将密文(
5
)和
加密
密钥(
6
)一起
发给对方
接收方:
1.
用
自己的私钥对加密密钥进行解密,得到对称密钥
--
也只有自己才能解密。
2.
用
对称密钥对密文进行解密,得到原文和签名。
3.
计算
原文的摘要
4.
用
对方
的公钥对签名进行解密获取发送来的摘要
--
身份验证
5.
将
两个摘要进行对比
--
验证原文的完整性。