题意
做法
令(f(a))为输出(sqrt~a)得到的结果,也就是(f(a)=x,.s.t~x^2equiv a(mod~n))
随机选择(xin[1,n)),得到(f(x^2)),令(y=f(x^2))
令(n=p_1p_2...p_k),则(y^2equiv x^2(mod~p_1),y^2equiv x^2(mod~p_2)...y^2equiv x^2(mod~p_k))
对于(y^2equiv x^2(mod~p_i),yequiv x~or~-x(mod~p_i))
(Pr Big[ f(x^2) equiv x pmod{p_i} Big| p_i
ot| x Big] = frac 1 2),(Pr Big[ f(x^2) equiv x pmod n Big| gcd(x,n) = 1 Big] = frac 1 {2^k})
也就是若((x,n)=1),得到的(y),(y
eq x)的概率为(1-frac{1}{2^k}),则(x^2equiv y^2(mod~n))
因为(n=p_1p_2...p_k),则必定有(n=n_1n_2,n_1>1,n_2>1),使得(xequiv y(mod~n_1),x
otequiv y(mod~n_2),(n_1,n_2)=1),
(n_1|x-y,(n_1,n_2)=1Longrightarrow (n,x-y)=n_1)
题外话
一直忽略了不同的质因子...然后一直做不出...