欧拉定理(又称费马-欧拉定理):已知a和n为正整数,并且a和p互素,则a^phi(n) ≡ 1(mod n)。
证明:
设集合Z = {X1, X2, X3, .... , Xphi(n)},其中Xi (i = 1, 2, .. phi(n))表示第i个不大于n与n互质的数。
考虑集合S = {a*X1(mod n), a*X2(mod n), ... ,a*Xphi(n) (mod n) },则集合Z = S;
1) 因为a和n互质,Xi和n也互质,所以a*Xi 也与n互质。所以对任意一个Xi,a*Xi (mod n)一定是Z里面的元素;
2)对于任意Xi, Xj, 如果Xi != Xj,则a*Xi(mod n) != a*Xj(mod n);
所以S = Z;
那么 (a*X1*a*X2*...*a*Xphi(n))(mod n) ---------------------------------------------------- (1)
= (a*X1(mod n)* a*X2(mod n)* ... *a*Xphi(n) (mod n)) (mod n)
= (X1* X2* X3* .... * Xphi(n)) (mod n) ------------------------------------------------------ (2)
式(1)整理得 [a^phi(x) * (X1* X2* X3* .... * Xphi(n))] (mod n)
a^phi(n) ≡ 1 (mod n);
逆元 :(b/a) (mod n) = (b * x) (mod n)。 x表示a的逆元。并且 a*x ≡ 1 (mod n ) 注意:只有当a与n互质的时候才存在逆元
因为a^phi(n) ≡ 1 (mod n),所以x可以表示为a^(phi(n) - 1)。如果n为质数,phi(n)=n-1
/*扩展欧几里得的应用: 模P乘法逆元 对于整数a、p,如果存在整数b,满足ab mod p =1,则说,b是a的模p乘法逆元。 定理:a存在模p的乘法逆元的充要条件是gcd(a,p) = 1
注意,逆元也可以这样理解,求一个最小的正整数x(逆元),使a乘以x对m的取余等于1对m的取余, 所以m=1 时,逆元为1
证明: 首先证明充分性 如果gcd(a,p) = 1,根据欧拉定理,aφ(p) ≡ 1 mod p,因此 显然aφ(p)-1 mod p是a的模p乘法逆元。
再证明必要性 假设存在a模p的乘法逆元为b ab ≡ 1 mod p 则ab = kp +1 ,所以1 = ab - kp 因为gcd(a,p) = d 所以d | 1 所以d只能为1算法对于最大公约数的计算和普通欧几里德算法是一致的。计算乘法逆元则显得很难明白。下面是证明:
首先重复拙作整除中的一个论断:
如果gcd(a,b)=d,则存在m,n,使得d = ma + nb,称呼这种关系为a、b组合整数d,m,n称为组合系数。当d=1时,有 ma + nb = 1 ,此时可以看出m是a模b的乘法逆元,n是b模a的乘法逆元。 (按照上面算出来的m,n可能为负数,最后要把它转化为正数)。完整程序如下:*/
一般情况下,ax+by=1;得 x为a mod b 的逆元,y为 b mod a的逆元
贴一个用多种方法证明的论文。
主要看这个地址写的: http://www.docin.com/p-489651861.html