公钥密码学与RSA

公钥密码学的发展的是整个密码学发展历史中最伟大的革命,也可以说是唯一一次的革命。

公钥密码出现前,几乎所有的密码体制都是基于替换和置换这些初等方法,轮转机和DES是密码学发展的重要标志,但是还是基于替换和置换。
公钥密码学与其前的密码学完全不同。首先,公钥算法是基于数学函数而不是基于替换和置换,更重要的是公钥密码是非对称的,它使用两个独立的**,使用两个**在消息的保密性、**分配和认证领域有着重要的意义。

传统密码存在的问题:

  • **分配问题(加密之后,我怎么把**告诉你才是安全的?)
  • 数字签名问题:抵赖;伪造。

对公钥密码的几种误解:

  • 公钥密码比传统密码更加安全。(事实上,任何加密方法都依赖于**的长度和破译密文所需要的计算量)
  • 公钥密码是一种通用密码,传统密码已经过时了。(其实正相反,由于现在公钥密码的计算量大,所以取缔传统密码似乎不太可能,公钥密码的发明者也说“公钥密码学仅限用在**管理和签名这类应用上”)
  • 传统密码中**分配中心的会话是一件异常麻烦的事情,公钥密码实现**分配则非常简单。(事实上是不简单,也不见得有效)

公钥密码体制的基本原理

  • 公钥加密
    公钥密码学与RSA

    1. Alice将明文用Bob的私钥加密传送
    2. 只有用Bob的私钥才能解锁
      作用:加密
  • 私钥加密
    公钥密码学与RSA

    1. 用Alice的私钥加密明文
    2. 所有人都可以用Alice的公钥进行解密
      作用:数字签名,认证源

RSA算法实例

  • 算法使用到的元素
    两个素数p,q (保密的,选定的)
    n=pq (公开的,计算得出的)
    Φ(n)=(p1)(q1)
    e满足gcd( Φ(n)e )=1;(1<e<Φ(n)),gcd表示最大公约数 (公开的,选定的),意思就是e与Φ(n)互质。
    d≡e^(-1)*(mod Φ(n)),即d和e的积模 Φ(n)余1 (保密的,计算得出的)
    私钥为{d,n},公钥为{e,n}

  • 加密:
    密文C=Me(mod n),明文M=Cd(mod n)
    明文M=Medmod n

  • 计算题:
    p=3,q=11,e=7,明文M=5,求密文?
    解:
    n=p*q=3X11=33
    Φ(n)=(3-1)*(11-1)=20
    7*d=1(mod 20),所以d可以为3
    私钥={3,20},公钥={7,20}
    密文C=5^7(mod 33)=14
    (转换为明文验证:M=14^3 (mod 33)=5,正确)

相关文章:

  • 2021-12-09
  • 2021-12-18
  • 2020-05-02
  • 2021-12-05
  • 2021-09-27
  • 2021-09-14
  • 2021-08-05
  • 2021-11-17
猜你喜欢
  • 2021-08-05
  • 2020-07-29
  • 2021-10-28
  • 2021-09-19
  • 2021-09-13
  • 2021-11-22
  • 2021-09-16
  • 2021-12-02
相关资源
相似解决方案