01
取模运算基础
取模运算(a mod m)是 a 除以 m 后所得的余数。例如:17 mod 5 = 2。它在日常生活中经常用到,如时钟计算(24 小时制)、星期计算等。在编程中,它对于数组索引循环、哈希函数等都不可或缺。
模加法、减法、乘法、幂运算、逆元计算。学习 RSA 加密中使用的模运算。
取模运算(a mod m)是 a 除以 m 后所得的余数。例如:17 mod 5 = 2。它在日常生活中经常用到,如时钟计算(24 小时制)、星期计算等。在编程中,它对于数组索引循环、哈希函数等都不可或缺。
模加法:(a + b) mod m。模乘法:(a × b) mod m。在计算大数时,为防止溢出,应在每一步都取模。例如:(12 + 8) mod 5 = 20 mod 5 = 0。
计算 a^b mod m 时,若直接求幂,数值会变得过大。采用分治思想的快速幂算法,可以在 O(log b) 时间内完成计算。这是 RSA 加密的核心运算。
模逆元是指使 (a × x) mod m = 1 成立的 x。仅当 a 与 m 互质时才存在。使用扩展欧几里得算法可在 O(log m) 时间内求出。它常用于密码解密和分数计算。
RSA 是一种以模幂运算和模逆元为核心的公钥密码系统。加密:c = m^e mod n,解密:m = c^d mod n。它利用了对两个大素数之积 n 进行因式分解十分困难这一特性。