九、RSA加密算法


返回

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
    """
    
返回