亲,欢迎光临图书迷!
错缺断章、加书:站内短信
后台有人,会尽快回复!
图书迷 > 网游动漫 > 数学心 > 第六百八十五章 RSA算法(密码学)
  • 主题模式:

  • 字体大小:

    -

    18

    +
  • 恢复默认

第六百八十五章 RSA算法(密码学)

时间来到了1976年,两位美国计算机学家威特菲尔德·迪菲(whitfield diffie)和马丁·赫尔曼(martin hellman),首次证明可以在不直接传递密钥的情况下,完成解密。这被称为“diffie-hellman密钥交换算法”。

dh算法的出现有着划时代的意义:从这一刻起,启示人们加密和解密可以使用不同的规则,只要规则之间存在某种对应关系即可。

这种新的模式也被称为“非对称加密算法”:

(1)乙方生成两把密钥,公钥和私钥。公钥是公开的,任何人都可以获得,私钥则是保密的。

(2)甲方获取乙方的公钥,用它对信息加密。

(3)乙方得到加密后的信息,用私钥解密。

公钥加密的信息只有私钥解得开,只要私钥不泄漏,通信就是安全的。

就在dh算法发明后一年,1977年,罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在麻省理工学院一起提出了RSA算法,RSA就是他们三人姓氏开头字母拼在一起组成的。

新诞生的RSA算法特性比dh算法更为强大,因为dh算法仅用于密钥分配,而RSA算法可以进行信息加密,也可以用于数字签名。另外,RSA算法的密钥越长,破解的难度以指数倍增长。

因为其强大的性能,可以毫不夸张地说,只要有计算机网络的地方,就有RSA算法。

RSA算法是这样工作的?

第一步,随机选择两个不相等的质数p和q。

第二步,计算p和q的乘积n。n的长度就是密钥长度,一般以二进制表示,一般长度是2048位。位数越长,则越难破解。

第三步,计算n的欧拉函数φ(n)。

第四步,随机选择一个整数e,其中是1< e <φ(n),且e与φ(n)互质。

第五步,计算e对于φ(n)的模反元素d。所谓“模反元素”就是指有一个整数d,可以使得ed被φ(n)除的余数为1。

第六步,将n和e封装成公钥(n,e),n和d封装成私钥(n,d)。