【信息安全】一些数论小知识

本文介绍了模运算中乘法逆元的概念及其求解方法,包括通过扩展欧几里得算法和费马小定理来求解逆元,并讨论了中国剩余定理(CRT)的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.乘法逆元

a*x = 1 mod n,那么x就是a的乘法逆元模n。

即a*x = k*n + 1, 根据扩展的欧几里得定理,a存在乘法逆元模n 的 充要条件是 a和n互质。

如何求解逆元?

不断用除数与余数做除法,直到得到余数1为止,然后再倒推一次。

比如求997 模 126的乘法逆元。

997 = 126 * 7 + 115

126 = 115 * 1 + 11

115 = 11 * 10 + 5

11 = 5 * 2 + 1结束。

1 = 11 - 5 * 2

1 = 11 - (115 - 11 * 10) * 2 = 21 * 11  - 115 * 2

1 = 21 * (126 - 115) - 115 = 21 * 126 - 23 * 115

1 = 21 * 126 - 23 * (997 - 126 * 7) = 182 * 126 - 23 * 997


所以126^-1 =182 mod 997, 997^-1 = -23 = 126 - 23 = 103 mod 126.


还有一种办法,根据费马小定理,若a,p互质,则a^(p-1) = 1 mod p,那么a^-1= a^(p-2) mod p。

2. CRT:

如果m1和m2互质,假设有一个数x,

x = a1 mod m1

x = a2 mod m2 .

k1 * m1 + a1 = a2 mod m2, k1 = (a2 - a1) * m1^-1 mod m2,因此看k1可解,x也可解。

CRT的含义是如果不知道x但是知道x模互质的两个数的余数,就可以得到x。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值