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 进行因式分解十分困难这一特性。