将信件明文,上一步得到的数字签名,和发送方李雷自己的数字证书方在一起进行对称加密。这里介绍下对称加密的概念,首先说公钥和私钥的加密形式叫做非对称加密,是两把不同的秘钥不想加锁和开锁,自己不能开自己。而对称加密就是只有一个秘钥,用它来枷锁也用它来解锁。对称加密存在安全隐含,因为你必须让发送方和接收方都知道这个秘钥,这就必然要把这个秘钥在网络上传输,这就存在风险。但对称加密也有优点,就是算法是时间复杂度底,加密过程快,而非对称加密的时间复杂度很高,如果对一段很长的全文都进行非对称加密显然是不现实的。所以聪明的人们相出了用非对称加密算法加密对称加密秘钥的方法,就可以做到两者兼得,在下一步中,就可以看到这个奇迹发生。
2.4制作数字信封
用接收方韩梅梅数字证书中的公钥对这把对称加密的秘钥进行加密,形成数字信封,这样在传输过程中,黑客就无法截取到加密正文所用的对称秘钥,达到了效率和安全性上的兼顾。
2.5 打包数据,可以上路了!
将第3步制作的密文和第4步制作的数字信封打包在一起,发送出去。这样固若金汤的加密过程就结束了!
3.解密阶段韩梅梅这时候已经收到了李雷发来的信件。解密阶段基本是加密阶段的反过程。
3.1 解密数字信封
韩梅梅利用自己的私钥解开数字信封,数字信封是用韩梅梅的公钥加密的,得到对称秘钥。
3.2 解密正文、数字签名、发送方数字证书。
利用上一步解密得到的对称秘钥,解开密文。得到明文、数字签名、含有李雷公钥的数字证书。
3.3 解密数字签名
利用上一步得到的发送方李雷的公钥解密数字签名,数字签名是用李雷的私钥加密的,得到发送方李雷利用Hash函数制作的信息摘要。
3.4 接收方制作信息摘要
接收方韩梅梅利用第二步解密得到的信件明文利用Hash函数再次制作信息摘要。
3.5 校验原文
将第3步和第4步得到的两份信息摘要进行对比,如果一样,说明接收数据正确且完整。至此,一套完整的加密传输流程结束了!
4.总结
如果你细细体味,会发现这里有很多巧妙的地方。
1、利用非对称加密确保了数据的绝对安全性。
2、利用对称加密加密原文,简化了时间复杂度,同时有用非对称加密加密对称秘钥,让对称秘钥的传输绝对安全。也许你会想,原文最终还是只用对称加密算法加的密,我们只需要暴力破解这个对称密码就可以了。这里要说明的是,这个对称秘钥是随机生成的,对用户透明,一般应该也会很长,要破解这个基本上也是不现实的。
3、利用Hash函数的不可逆性、结果唯一性对数据进行校验,有效的保证了数据的完整性。