由二次剩余知识点可知:
有解、二次剩余 :
无解、二次非剩余:
当p为质数的时候即phi(p)=p-1
有解、二次剩余 :
无解、二次非剩余:
设
那么就有:
二次剩余 :
二次非剩余:
当t=1时
二次剩余:
二次非剩余:
那么两边同时乘以就有:
二次剩余:
二次非剩余:
当x=密文(c)时,就有:
二次剩余:
二次非剩余:
也就是说:
当t>=2时
设x为二次剩余,y为非二次剩余
两边同时根号,右边不变,而左边乘了
二次剩余 :
二次非剩余:
然后我们把二次非剩余的公式平方,把-1消除掉,
由于是平方二次非剩余,由二次剩余的定义 二次非剩余乘以二次非剩余是等于二次剩余的
所以这里把-1消掉的同时也将它变成了二次剩余,所以公式得到:
我们两个公式相乘得到:
这时论文中引入了一个k
,且
由t=2时,公式
,且
当我们t=3时该公式就相当于再开了一次根得到
我们将乘以
得到
,且
依次类推,式子演变成
我们将该式子两边同时乘x,得到
然后我们右边提取2次方,得到
这里左右开根一直到左边没有2的指数引入k是为了判断是否引入非剩余类,论文说开出正根k=0,开出负根k=1,一共t-1个k:
这个时候带入c为原来的剩余类,也就是x,得到:
两边同时根号就能得出m了:
这是2次剩余,当n次剩余也是类似
开n次方根
这个公式怎么来的呢,我们可知费马小定理
(1)
代入
,将a用
替换
2、我们可知AMM算法求解的情况为 r | (p-1) 的情况,所以我们可以写出以下条件:
3、找到一个q值使其满足(2)
4、找到一个值,使其满足 s | (r*
-1),可推导得:
(3)
分类讨论:
(1)t=1时:直接两边同乘a值,再对两边同时开r次方导,带入(1)式,即可求得x的值;
(2)t>=2时:=>取(2)式可推导得:其中
其中K是对(3)式开r次方所有可能解的集合,当我们算时,通过欧拉定理,我们可知
通过欧拉定理可得
接下来,开始像第一个中解平方根的思路开始求解第二种情况:
1、对(3)式开r次方,得到
2、可得到
两边同时乘以可得
即为
判断是否为r,重复上述的1和2操作
3、当结束后,我们可得以下等式:
带入(1)式,对两边同时开r次方,我们可以求得我们所需的x值: