目录
一、Quadratic Residues Modulo a Prime 模素数二次剩余
二、Quadratic Residues Modulo a Composite 模合数二次剩余
三、The Quadratic Residuosity Assumption 二次剩余假设
四、The Goldwasser–Micali Encryption Scheme GM算法
在介绍Goldwasser-Micali公钥加密方案之前,我们需要更好地理解数论相关知识
1. 群
非空集合上的二元运算满足封闭性,结合律,单位元且存在逆元的集合关于该运算构成一个群
2.阿贝尔群: 满足交换律的群
3.符号
是指所有小于N 且与 N 互素的数的集合
一、Quadratic Residues Modulo a Prime 模素数二次剩余
- 定义:在群G中,一个元素 y ∈ G是mod p下的二次剩余,即满足:存在一个x ∈ G,使得x² = y mod p。在这种情况下,我们称x为y的平方根。不是二次剩余的元素称为二次非剩余。在阿贝尔群中,二次剩余的集合形成子群。
- 命题:
命题2:
证明:
可以得到模素数二次剩余的判定:
证明:
二、Quadratic Residues Modulo a Composite 模合数二次剩余
- 定义:现在我们将注意力转向群模N剩余类中的二次剩余,其中N = pq。如果我们将前一节的结果与中国剩余定理结合使用,那么刻画模N的二次剩余是很容易的。
- 中国剩余定理:求解同余方程,且
- 定理:
事实上,每个Y有四个平方剩余根
因为:
例子:
由中国剩余定理得:
模合数剩余类中1/4的元素是二次剩余:
证明:
证明:
三、The Quadratic Residuosity Assumption 二次剩余假设
模合数二次剩余的判定:
事实上,若未知N的分解p和q,我们只能确定Jp(x)= -1时,x是非二次剩余;而Jp(x)= 1时无 法确定 x一定是二次剩余。
也就是说,选取qnr和qr的概率要可忽略,我们已知在ZN中二次剩余占1/4,因此选取qnr要在QNR+中选取,概率也为1/4.
二次剩余假设是简单的假设,存在一个相对于判断二次剩余是困难的GenModulus。很容易看出,如果确定二次剩余相对于GenModulus是困难的,那么因式分解相对于GenModulus也一定是困难的。
四、The Goldwasser–Micali Encryption Scheme GM算法
何为CPA安全:加密明文m0,m1后,密文不可区分
困难问题是,在未知N的分解的情况下,判断元素y是否是二次剩余是困难的!
- 如何选取二次剩余元素 :比较容易,直接在模n剩余类中随机选取元素x,计算y=x² mod N,则:y即为我们要选取的二次剩余元素。因为二次剩余集合占模n剩余类的1/4,且一个二次剩余元素有4个平方根,也就是随机选取一个元素x一定能找到对应的二次剩余元素。
- 如何选取二次非剩余元素:巧妙的让接收方选取作为公钥,因为接收方知道p,q,则可以很容易的得到非二次剩余元素。
证明:
1.窃听不可否认性实验:
2.存在算法D:
在该算法中分两种情况:
- 若z是二次非剩余判断元素是二次非剩余的概率和执行窃听不可否认实验成功的概率相同
- 若z是二次剩余,那么根据定理,无论m是何值,挑战密文c均为二次剩余
因此,敌手执行窃听实验成功的概率减1/2等于判断元素是二次非剩余的概率减元素是二次剩余的概率
即敌手成功的概率 ε(n):
满足CPA安全,证毕~