现代密码学加密方案概述
1. 加密方案基础
加密方案主要分为私钥加密和公钥加密,二者都包含三个高效算法:密钥生成、加密和解密。但二者在安全性定义上有所不同,公钥加密方案的安全性要求在攻击者已知加密密钥的情况下依然成立,而私钥加密方案则无此要求。这使得公钥加密方案中,用户可以广播其加密密钥,其他用户无需与接收方事先协商私钥即可发送加密消息。
2. 加密方案的安全性定义
为简化讨论,我们仅考虑对单条消息的加密,且消息长度可能长于密钥长度。这里给出两种等价的安全性定义:
2.1 语义安全性(Semantic Security)
语义安全性是香农完美保密性定义的计算类比。具体定义如下:
对于每一个可行算法 (A),存在一个可行算法 (B),使得对于任意两个函数 (f, h : {0, 1}^\to {0, 1}^) 以及所有序列对 ((X_n, z_n)_{n \in \mathbb{N}})(其中 (X_n) 是取值于 ({0, 1}^{n^2}) 的随机变量,(\vert z_n \vert) 长度在 (n) 上是可行的),满足:
(\Pr[A(E(X_n), h(X_n), z_n) = f(X_n)] < \Pr[B(h(X_n), z_n) = f(X_n)] + \mu(n))
其中 (\mu) 是可忽略函数,且 (B) 的复杂度应与 (A) 相关。
该定义表明,可行的攻击者无法从密文中获取额外信息,即给定先验信息时,攻击者试图从密文中计算的任何信息,本质上都可以从先验信息中高效计算得出。