乘法逆元计算

乘法逆元计算

乘法逆元(模运算和环的概念不在此介绍):

乘法中存在中性元素1,即对每个 a ∈ Z(m),都有 a * 1 ≡ a mod m。
不是所有元素都存在乘法逆元。假设 a ∈ Z,乘法逆元 a^(-1) 可以定义为:
a * a^(-1) ≡ 1 mod m
如果元素 a 的乘法逆元存在,则可以除以这个元素,因为 b / a ≡ b * a(-1) mod m。
当且仅当 gcd(a, m)= 1,一个元素的 a ∈ Z 存在乘法逆元 a^(-1)。其中 gcd 表示最大公约数;如果 gcd(a, m)= 1,那么 a 和 m 就互质或互素。

乘法逆元的一大应用是模意义下的除法,除法在模意义下并不是封闭的,但我们可以根据上述公式,将其转化为乘法。
乘法逆元

常见的乘法逆元计算方法:

1.费马小定理
2.扩展欧几里得
3.递推法

实现乘法逆元的计算,大多需要借助计算机程序;
在此只介绍数比较小时的笔算方法。

思路就是:

a 模 b 的乘法逆元 推导为 1 = ax - by 或者 1 = by - ax
a的乘法逆元a(-1) = x 或 a(-1) = b - x

11模26的乘法逆元:
26 = 11 * 2 + 4;11 = 4 * 2 + 3;4 = 3 + 1
1 = 4 - 3
1 = (26 - 11*2) - (11 - 4*2)
1 = (26 - 11*2) - (11 - (26 - 11*2)*2)
1 = 26*3 - 11*7
所以11模26的乘法逆元为26 - 7 = 19 。

21模26的乘法逆元:
26 = 21 + 5;21 = 5 * 4 + 1
1 = 21 - 5*4
1 = 21 - (26 - 21)*4
1 = 21*5 - 26*4
所以21模26的乘法逆元为 5 。

你可能感兴趣的:(密码学,密码学)