公钥加密高级主题:Rabin加密方案与相关数学知识
1. Rabin加密方案
Rabin加密方案是一种基于因式分解困难性的公钥加密方案。我们可以将相关结果应用于Rabin陷门置换,从而得到这个加密方案。在构建该方案之前,我们需要找到Rabin陷门置换的一个硬核谓词。实际上,最低有效位(lsb)就是Rabin陷门置换的硬核谓词,这与RSA的情况类似。
1.1 构建Rabin加密方案
使用GenModulus算法,它是一个多项式时间算法,输入为 $1^n$,输出 $(N, p, q)$,其中 $N = pq$,$p$ 和 $q$ 是 $n$ 位素数(除了概率可忽略不计的情况),且 $p \equiv q \equiv 3 \mod 4$。具体的加密方案构建步骤如下:
- 密钥生成(Gen) :输入 $1^n$,运行GenModulus $(1^n)$ 得到 $(N, p, q)$。公钥是 $N$,私钥是 $\langle p, q \rangle$。
- 加密(Enc) :输入公钥 $N$ 和消息 $m \in {0, 1}$,选择一个均匀的 $x \in QRN$,满足约束条件 $lsb(x) = m$。输出密文 $c := [x^2 \mod N]$。
- 解密(Dec) :输入私钥 $\langle p, q \rangle$ 和密文 $c$,计算唯一的 $x \in QRN$,使得 $x^2 \equiv c \mod N$,并输出 $lsb(x)$。
1.2 安全性定理
如果相对于Ge
超级会员免费看
订阅专栏 解锁全文
8390

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



