密码学协议基础与应用解析
1. 密码学技术分类
密码学技术通常分为对称密钥系统和公钥系统两大类。
- 对称密钥系统 :涉及两种变换,发送方和接收方使用相同的密钥或容易相互推导的密钥。也被称为传统密码系统。
- 公钥系统 :包含两种相关变换,一种由公钥定义(公共变换),另一种由私钥定义。从公钥变换计算出私钥变换在计算上是不可行的。许多知名的公钥密码系统基于一些难解问题,如整数分解问题、离散对数问题和椭圆曲线离散对数问题(ECDLP)。
2. 对称密钥加密
对称密钥加密使用相同的加密和解密密钥(e = d)进行加密和解密操作。在双方通信中,密钥必须在两端都保密,并且为了安全,密钥可能需要经常更换,例如每次通信会话都更换。在对称密钥加密中,唯一被证明安全的系统是一次性密码本。
对称密钥加密原语在加密和解密时的数据吞吐量通常比公钥加密高。常见的对称密钥加密方案分为两类:
- 分组密码 :将待传输的明文消息分割成固定长度 t 的字符串(块),并逐块进行加密。像 DES、3DES、IDEA 等都是知名的分组密码技术。
- 流密码 :从某种意义上说,是块长度为 1 的简单分组密码。其加密变换可以针对每个加密的明文符号进行改变,适用于错误传输概率高或数据缓冲有限的情况。
3. 公钥加密
公钥加密使用不同的加密和解密密钥,即公钥 e 和私钥 d,且两者相互匹配。公钥 e 无需保密,只有拥有公钥 e 的一方才能使用匹配的私钥 d 解密用 e 加密的密文。