现代密码学中的私钥加密与流密码应用
1. 强伪随机置换
强伪随机置换是密码学中的一个重要概念。对于一个高效、保长的带密钥置换 (F : {0, 1}^ × {0, 1}^ →{0, 1}^*),如果对于所有概率多项式时间区分器 (D),都存在一个可忽略函数 (negl),使得:
(\left| Pr[D_{F_k(\cdot),F^{-1} k(\cdot)}(1^n) = 1] - Pr[D {f(\cdot),f^{-1}(\cdot)}(1^n) = 1] \right| \leq negl(n))
这里,第一个概率是在 (k \in {0, 1}^n) 均匀选择以及 (D) 的随机性上取值,第二个概率是在 (f \in Perm_n) 均匀选择以及 (D) 的随机性上取值。任何强伪随机置换都是伪随机置换,但反之不成立。
2. 基于伪随机函数的CPA安全加密方案
我们的目标是构建一个CPA安全的定长加密方案,这也暗示了存在用于任意长度消息的CPA安全加密方案。
2.1 朴素的加密尝试
一种朴素的方法是定义 (Enc_k(m) = F_k(m))。但这种方法是确定性的,对相同明文加密两次会得到相同密文,因此不可能是CPA安全的。
2.2 随机化加密方案
我们采用随机化加密,具体做法是将伪随机函数应用于一个随机值 (r \in {0, 1}^n),并将输出与明文进行异或操作,密文包括结果和 (r) 以方便接收方解密。
以下是具体的构造:
- Gen :输入
私钥加密与流密码应用解析
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



