密码学原理
备注:VPN 技术中的密码学原理。
加密算法
概述
用于对用户数据进行加密,常用算法有 DES、3DES、AES、RSA、DH 算法。
根据密钥特征,分为对称和非对称算法。
对称算法
用户 A 通过互联网向用户 B 发送消息,数据如果不经过加密可能遭到窃取、篡改。采用对称算法对数据进行加密,所谓的对称是指通信双方用来加、解密的密钥是相同的,假设密钥为 key,用户 A 使用 key 对数据加密后将密文通过互联网发送给用户 B,用户 B 收到密文后再使用相同的 key 进行解密得到对应的明文数据。
此时存在一个技术难点,即双方第一次通信时如何安全且准确的协商密钥信息。
常规对称算法具有以下特征:
安全性
紧凑性(加密前后的数据大小变化不大)
速度快
常见对称算法:
DES、3DES、AES
非对称算法
通信双方各自持有两个密钥,即私钥和公钥,非对称算法不要求通信双方事先协商密钥信息。用户 A 向用户 B 发送数据,用户 A 将明文使用用户 B 的公钥进行加密,用户 B 收到密文后使用自己的私钥进行解密以得到对应的明文。
密钥对:公钥+私钥;公钥公开,私钥保密;加解密双方各有一对密钥对。发给谁就用谁的公钥对数据进行加密。
常见非对称算法:
RSA、DH
常规对称算法具有以下特征:
速度慢
安全性
密钥管理方便
支持数字签名
支持不可否认性
对称、非对称算法结合
取各自的优点相结合。
对称算法用来对数据加密,非对称算法用来实现密钥分发。
哈希算法
分类
MD5、SHA,用于实现数据完整性校验。