信息安全(一)数学基础&对称密码和消息机密性
数学基础
-
最大公因数 gcd(a,b), 最小公倍数 lcm(a,b)
拓展欧几里得算法(求模逆元)
求模逆元就是求乘法逆元,即寻找一个x,使得 a*x ≡ 1 mod m
求 550*x ≡ 1 mod 1769
可以这样做算: 550*x-1 可以整除 1769
计算方式:gcd(17,5)
- Q = X3/Y3
- X1 = Y1
- X2 = Y2
- X3 = Y3
- T1 = X1-Q*Y1
- T2 = X2-Q*Y2
- T3 = X3-Q*Y3
Q | X1 | X2 | X3 | Y1(T1) | Y2(T2) | Y3(T3) | |
---|---|---|---|---|---|---|---|
初始值 | 1 | 0 | 17 | 0 | 1 | 5 | |
3 | 0 | 1 | 5 | 1 | -3 | 2 | |
2 | 1 | -3 | 2 | -2 | 7 | 1 |
当 Y3 = 1时,说明有模逆元, 该逆元为Y2 即 7 , 5 * 7 = 17 * 2+1 ,Y3 即为最大公倍数
当 Y3 = 0 时,说明无逆元,找Y3的上一个数,即为最大公倍数
费马定理与欧拉定理
-
费马定理
在 p 为 **素数 **的情况下才成立
x p − 1 ≡ 1 m o d p x^{p-1} ≡ 1 \ mod \ p xp−1≡1 mod p
即 : x 10 = 1 m o d 11 即: x^{10} = 1 \ mod \ 11 即:x10=1 mod 11 -
欧拉定理
对于任何 互素 的两个整数 a, n有
a δ ( n ) ≡ 1 m o d n a^{δ{(n)}} ≡ 1 \ mod \ n aδ(n)≡1 mod n