二阶同余方程求解
已知a,N(a为小素数,N为自然数),如何求解b^2=a mod N 的一个解b?
[解决办法]
N为奇素数时
当a^((N-1)/2) = 1(mod N) 时有解
b=a^((N+1)/2)
[解决办法]
对于N是奇素数时,N%4==3时,有解b=a^((N+1)/4)
当然如果解存在,必然成对出现(b^2=(N-b)^2=a)
对于N是合数,可以通过对N进行因子分解,对每个素因子的幂求解以后,然后通过中国剩余定理来计算组后的解。
所以问题就转化为只需要计算
N是2的幂和N为奇素数的幂的两种情况。