乘法逆元

更新时间:2023-09-18 15:52

乘法逆元,是指数学领域群G中任意一个元素a,都在G中有唯一的逆元a‘,具有性质a×a'=a'×a=e,其中e为该群的单位元

定义内容

群G中任意一个元素a,都在G中有唯一的逆元a‘,具有性质aa'=a'a=e,其中e为群的单位元

举例说明

例如:4关于1模7的乘法逆元为多少?

4X≡1 mod 7

这个方程等价于求一个X和K,满足

4X=7K+1

其中X和K都是整数。

若ax≡1 mod f, 则称a关于1模f的乘法逆元为x。也可表示为ax≡1(mod f)。

当a与f互素时,a关于模f的乘法逆元有解。如果不互素,则无解。如果f为素数,则从1到f-1的任意数都与f互素,即在1到f-1之间都恰好有一个关于模f的乘法逆元。

例如,求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。

其求法可用欧几里德算法

Extended Euclid (d,f) //算法求d关于模f的乘法逆元d-1 ,即 d* d-1 mod f = 1

1 。(X1,X2,X3) := (1,0,f); (Y1,Y2,Y3) := (0,1,d)

2。 if (Y3=0) then return d-1 = null //无逆元

3。 if (Y3=1) then return d-1 = Y2 //Y2为逆元

4。 Q := X3 div Y3 //整除

5。 (T1T2,T3) := (X1 - Q*Y1,X2 - Q*Y2,X3 - Q*Y3)

6 。(X1,X2,X3) := (Y1,Y2,Y3)

7。 (Y1,Y2,Y3) := (T1,T2,T3)

8。 goto 2

常用于加密算法中,如仿射算法。

求此算法还可以使用费马小定理

只不过局限性比较大,要求模数是素数

a^(p-1)1(mod p)

p要求是素数

那么a^(p-2)就是a的乘法逆元

代码实现

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}