现代密码学中的Rabin加密方案与模平方根计算
1. 引言
在密码学领域,加密方案的安全性至关重要。Rabin加密方案因其安全性与分解大整数的困难性等价而备受关注。相比之下,基于RSA的加密方案和Goldwasser - Micali加密方案在安全性假设上可能不如Rabin加密方案可靠。接下来,我们将深入探讨Rabin加密方案,包括模平方根的计算以及基于分解困难性的陷门置换。
2. 模平方根的计算
Rabin加密方案要求接收方计算模平方根,因此我们需要研究该问题的算法复杂度。
2.1 素数模下的平方根计算
设 $p$ 为奇素数,计算模 $p$ 的平方根在 $p \equiv 3 \pmod{4}$ 时相对简单,而在 $p \equiv 1 \pmod{4}$ 时则较为复杂。
- 当 $p \equiv 3 \pmod{4}$ 时 :
若 $p = 4i + 3$($i$ 为整数),对于二次剩余 $a \in \mathbb{Z}_p^*$,有 $J_p(a) = 1 = a^{\frac{p - 1}{2}} \pmod{p}$。两边同乘 $a$ 可得 $a = a^{\frac{p - 1}{2} + 1} = a^{2i + 2} = (a^{i + 1})^2 \pmod{p}$,所以 $a^{i + 1} = a^{\frac{p + 1}{4}} \pmod{p}$ 是 $a$ 的一个平方根。算法如下:
输入: 素数 p; 二次剩余 a ∈ Z∗
超级会员免费看
订阅专栏 解锁全文
8390

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



