现代密码学基础应用之加密概述
在现代密码学中,加密是保障信息安全的重要手段。加密方案主要分为私钥加密和公钥加密,它们各自包含密钥生成、加密和解密三个高效算法,但在安全性定义上存在差异。
1. 加密方案基础
私钥和公钥加密方案都由密钥生成、加密和解密三个算法构成。公钥加密方案的安全性要求在攻击者获得加密密钥的情况下依然成立,而私钥加密方案则无此要求。这使得公钥加密方案允许用户广播其加密密钥,其他用户无需与接收方事先协商私钥即可发送加密消息。
2. 安全性定义
为简化讨论,我们仅考虑单条消息的加密,且消息长度可能超过密钥长度,这排除了信息论意义上的保密性。在安全性方面,有两种等价的定义。
-语义安全:它是香农完美保密性定义的计算模拟。对于每个可行算法A,存在一个可行算法B,对于任意两个函数f、h以及所有序列对(Xn, zn)(其中Xn是取值于{0, 1}n²的随机变量,|zn|长度在n上可行),满足Pr[A(E(Xn)h(Xn), zn) = f (Xn)] < Pr[B(h(Xn), zn) = f (Xn)] + µ(n),其中µ是可忽略函数,且B的复杂度与A相关。这意味着攻击者通过查看密文无法获得任何额外信息,密文对于计算明文的任何信息都没有帮助。
-加密不可区分性:对于每个可行算法A和所有三元组序列(xn, yn, zn)(|xn| = |yn| = n²,|zn|长度在n上可行),有|Pr[A(E(xn), zn) = 1] - Pr[A(E(yn), zn) = 1]| < µ(n)。这表明攻击者无法区分任意两条已知消息的加密结果,例