一、单位元
在一个集合中,对于某种运算 * (注意:这里代表通用运算的表示符号,并不是特指乘法),如果对于任何的集合元素 a,和元素 e 运算,得到还是集合元素 a 本身,则称 e 为这个运算下的单位元。
❶ 在加法运算中,任意实数 a,有 a+e=e+a=a,则 单位元 e=0;
❷ 在乘法运算中,任意实数 a,有 a*e=e*a=a,则 单位元 e=1;
二、逆元
在一个集合中,对于某种运算 *,如果任意两个元素的运算结果等于单位元,则称这两个元素互为逆元。
在加法运算中,任意实数 a 的逆元为 -a;
在乘法运算中,任意非零实数 a 的逆元为 a-1 或 1/a;
三、同余式定义 正整数a、b对p取模,他们的余数相同,记做 a≡b (mod p)。
❶、取模运算:a%p(或 a mod p),表示 a 除以 p 的余数。
❷、模 p 加法:(a+b)%p,其结果是 a+b 算术和除以 p 的余数。
(a+b)%p = (a%p+b%p)%p
❸、模 p 减法:(a-b)%p,其结果是 a-b 算术差除以 p 的余数。
(a-b)%p = (a%p-b%p)%p
❹、模 p 乘法:(a*b)%p,其结果是 a*b 算术积除以 p 的余数。
(a*b)%p = (a%p*b%p)%p;ab%p=((a0%p)b)%p
说明:n%p 得到结果的正负由被除数 n 决定,与 p 无关。
例如:7%4=3,-7%4=-3,-7%-4=-3。
⚪同余式除法不满足类似的运算,即:
(a/b)%p != (a%p/b%p)%p;
证明:
◆设有:a=k0p+a’,b=k1p+b’, k0,k1∈z,表示商,a’,b’表示余数。
◆ (a%p/b%p)=a’/b’=(a-k0p)/(b-k1p)
◆显然,(a-k0p)/(b-k1p)!=a/b
四、模乘运算的单位元
◆ 对于模乘法,所有模 n 和 a 同余的数都可以表示成:a (mod n) = kn + a (k∈z)
◆ 令单位元为 e (mod n),我们将 a (mod n) 和 e (mod n) 进行模乘操作,得到:
◆ a (mod n) * e (mod n) =(k1*n+a)*(k2*n+a)=k1*k2*n2+k1*e*n+k2*a*n+a*e=n*(k1*k2*n+k1*e+k2*a)+a*e
◆因为:a (mod n) * e (mod n) = a (mod n) = k*n + a
◆所以:a (mod n) * e (mod n) =n*(k1*k2*n+k1*e+k2*a)+a*e=k*n+a
◆故有:k=k1*k2*n+k1*e+k2*a;e=1
◆得到模乘运算的单位元:1 (mod n)
五、模乘的逆元
❶ 模乘元素中,任意整数 a (mod n)的逆元表示为:a-1(mod n)。则应该有:
◆ a (mod n) * a-1(mod n) ≡ 1 (mod n) 表示:a (mod n) 乘 a-1(mod n) 后模 n 的余数和 1 (mod n) 的值相同。
◆ 因为有:(a*b)%p = (a%p*b%p)%p 成立。
◆ 转换为同余式:a * a-1 ≡ 1 (mod n)
❷ 逆元定义:如果一个线性同余方程 a*x≡1 mod b, 且gcd(a,b)=1(a与b互质),则称 a 关于1模b的乘法逆元为 x,记作 a-1。
当a与p互质时,a关于模p的乘法逆元有解。如果不互质,则无解。如果p为质数,则从1到p-1的任意数都与p互质,即在1到p-1之间都恰好有一个关于模p的乘法逆元。
比如5和14,易知5和14互质(公约数只有1的两个整数),那么可以求出5关于1模14的乘法逆元为3 。求5关于模14的乘法逆元:
14=5*2+4 5=4*1+1
说明5与14互素,存在5关于14的乘法逆元。
1=5-4=5-(14-5*2)=5*3-14
因此,5关于模14的乘法逆元为3。
❸ 逆元的性质
唯一性:给定一个数a,若存在模p下的逆元x,x一定唯一。
自反性:x是a的逆元,a也是x的逆元。
❹ 在除法取余的情况下,可以使用逆元把除法除余转换位乘法。
(a/b)%p = (a*b-1)%p=((a0%p)*(b-1%p))%p
六、计算 a(mod n) 有逆元
当n较小时,可以手工计算,例如:求3在模26下的逆元:
3*a-1≡1(mod 26)
3*a-1(mod 26)=1
a-1=9
当n非常大的时候,需要设计逆元求解算法。






乘法逆元的求法:
1.费马小定理求逆元
费马小定理:假如 a是一个整数, p是一个质数,那么 ap − a 是p的倍数,可以表示为 ap ≡ a ( mod p ) ;
如果a不是p的倍数,这个定理也可以写成 ap-1 ≡ 1 ( mod p );
由费马小定理 ap-1≡1(mod p) , 变形可以得到 aap-2≡1(mod p),那么,因为aap-2≡1(mod p)且a*x≡1(mod p),则x=ap-2(mod p),用快速幂可快速求之.
2.扩展欧几里得定理求逆元(具体看欧里几德定理及其扩展)
ax≡1 (mod p)即由此定理可得ax-yp=1.把y写成+的形式就是ax+py=1,为方便理解下面我们把p写成b就是ax+by=1。就表示x是a的模b乘法逆元,y是b的模a乘法逆元。然后就可以用扩展欧几里得求了。