9.1 密码和加密
- 传统密码:加密算法保密
- 现代密码系统:加密算法公开,密钥保密
9.2 对称加密和非对称加密
- 对称加密:加密、解密用同一个密钥
- 非对称加密:加密用公开的公钥,解密用私有的私钥
9.3 RSA加密原理
-
RSA是非对称加密
-
核心原理
""" 两个大质数相乘得到一个大整数,过程很容易 一个大整数拆分成两个大质数相乘,过程很困难 """
-
加密过程
""" 1 随机取两个质数 p,q 2 计算 n = p * q 3 计算 Ø(n) = (p-1) * (q-1) 4 选取一个与Ø(n)互质的小奇数 e 5 对模Ø(n)计算e的乘法逆元 d,即满足 (e*d) % Ø(n) = 1 6 得到 公钥:(e,n) 私钥:(d,n) 7 加密过程:c = (m**e) % n 8 解密过程:m = (c**d) % n """