非对称加密:原理、算法与密钥交换
1. 数学基础:模运算
在密码学的世界里,很多算法的理解都离不开数学知识,尤其是模运算。模运算主要是对从 0 到给定数字 n 的自然数进行计算,当达到 n 时,会重新从 0 开始计数,就像时钟的时针,从 0 到 11 计数后又回到 0,这就是一个模 12 的计数器。
1.1 模加法和减法
模加法和减法与普通的加减法类似,但有一个关键区别。当加法结果大于或等于 n 时,需要从结果中减去 n;当减法结果小于 0 时,需要加上 n。为了区分模运算和普通运算,会在等式后面加上 ’(mod n)’。
例如:
- (3 + 5 = 1) (mod 7)
- (2 + 2 = 4) (mod 13)
- (3 - 6 = 6) (mod 9)
- (3 + 6 = 0) (mod 9)
1.2 模乘法
模乘法可以从模加法推导得出,即将乘法写成重复加法的形式。不过,也有更快捷的方法,即先正常相乘,然后不断减去 n,直到结果在 0 到 n - 1 之间。
例如:
- (4·5 = 4 + 4 + 4 + 4 + 4) (mod 7)
- (= 1 + 4 + 4 + 4) (mod 7)
- (= 5 + 4 + 4) (mod 7)
- (= 2 + 4) (mod 7)
- (= 6) (mod 7)
- 快捷方法:(4·5 = 20 - 7 - 7 = 6) (mod 7)
1.3 模除法
要进行模除法,需要先判断对于任意数字 a,是否存在数字 b
超级会员免费看
订阅专栏 解锁全文
2172

被折叠的 条评论
为什么被折叠?



