加密与签名方案:原理、构造与安全分析
加密方案的相关原理与构造
在加密领域,我们可以通过一些巧妙的方法来实现特定的功能,比如利用硬核函数和单向置换构造伪随机生成器,以及基于陷门函数和硬核函数构建公钥加密方案。
从单向函数构造伪随机生成器
硬核函数和硬核比特的强大之处体现在可以利用它们从单向置换构造伪随机生成器。例如,假设存在一个单向置换 $P$,满足 $P.il(λ) = P.ol(λ) = λ$,以及一个针对 $P$ 的硬核函数 $HC$,我们可以按如下方式定义伪随机生成器 $PRG$:
PRG.KGen(1λ)
1 : fk ←$ P.KGen(1λ)
2 : hck ←$ HC.KGen(1λ)
3 : return (fk, hck)
PRG.Eval((fk, hck), s)
1 : y ←P.Eval(fk, s)
2 : z ←HC.Eval(hck, s)
3 : return y∥z
这个构造显然是确定性的,并且能够扩展输入长度。要使其成为安全的伪随机生成器,需要保证没有敌手能够区分均匀随机输出和通过该构造在均匀随机输入下生成的输出。由于 $P$ 是置换且输入 $s$ 是均匀随机选择的,输出中 $y$ 部分的分布是均匀随机的。而对于 $z$ 部分,由于硬核函数 $HC$ 的安全性,即使敌手看到 $y$,$z$ 也应该与随机数不可区分。
基于陷门和硬核函数的公钥加密方案
现在我们有了构造安全公钥加密方案的必要元素。假设 $T$ 是一个陷门函数,$HC$ 是针对 $T$ 的硬核函数,我们可以
超级会员免费看
订阅专栏 解锁全文
42

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



