• 1.摘要
  • 2.基本信息
  • 3.传统的加密方法
  • 4.公开密钥密码体制
  • 5.RSA算法简介
  • 6.RSA的优缺点
  • 6.1.优点
  • 6.2.缺点

公开密钥密码体制

公开密钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制的密钥分配问题,另一种是由于对数字签名的需求。

基本信息

  • 中文名

    公开密钥密码体制

  • 时间

    1976年

  • 提出者

    迪菲和赫尔曼

  • 地点

    美国斯坦福大学

传统的加密方法

传统的加密方法是加密、解密使用同样的密钥,由发送者和接收者分别保存,在加密和解密时使用,采用这种方法的主要问题是密钥的生成、注入、存储、管理、分发等很复杂,特别是随着用户的增加,密钥的需求量成倍增加。在网络通信中,大量密钥的分配是一个难以解决的问题。

例如,若系统中有n个用户,其中每两个用户之间需要建立密码通信,则系统中每个用户须掌握(n-1)个密钥,而系统中所需的密钥总数为n*(n-1)/2 个。对10个用户的情况,每个用户必须有9个密钥,系统中密钥的总数为45个。对100个用户来说,每个用户必须有99个密钥,系统中密钥的总数为4950个。这还仅考虑用户之间的通信只使用一种会话密钥的情况。如此庞大数量的密钥生成、管理、分发确实是一个难处理的问题。

公开密钥密码体制

1976年美国斯坦福大学的两名学者迪菲和赫尔曼提出了公开密钥密码体制的概念。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。

在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。

与传统的加密方法不同,该技术采用两个不同的密钥来对信息加密和解密,它也称为"非对称式加密方法。每个用户有一个对外公开的加密算法E和对外保密的解密算法D, 它们须满足条件: (1)D是E的逆,即D[E(X)]=X; (2)E和D都容易计算。 (3)由E出发去求解D十分困难。 从上述条件可看出,公开密钥密码体制下,加密密钥不等于解密密钥。加密密钥可对外公开,使任何用户都可将传送给此用户的信息用公开密钥加密发送,而该用户唯一保存的私人密钥是保密的,也只有它能将密文复原、解密。虽然解密密钥理论上可由加密密钥推算出来,但这种算法设计在实际上是不可能的,或者虽然能够推算出,但要花费很长的时间而成为不可行的。所以将加密密钥公开也不会危害密钥的安全。 数学上的单向陷门函数的特点是一个方向求值很容易,但其逆向计算却很困难。许多形式为Y=f(x)的函数,对于给定的自变量x值,很容易计算出函数Y的值;而由给定的Y值,在很多情况下依照函数关系f(x)计算x值十分困难。例如,两个大素数p和q相乘得到乘积n比较容易计算,但从它们的乘积n分解为两个大素数p和q则十分困难。如果n为足够大,当前的算法不可能在有效的时间内实现。

特点:

(1) 发送者用加密密钥PK 对明文 X 加密后,在接收者用解密密钥 SK 解密,即可恢复出明文,或写为:

Dsk(Epk(X)) = X

解密密钥是接收者专用的秘密密钥,对其他人都保密。

此外,加密和解密的运算可以对调,即

Epk(Dsk(X)) = X

(2) 加密密钥是公开的,但不能用它来解密,即

Dpk(Epk(X)) ? X

(3) 在计算机上可容易地产生成对的 PK 和 SK。

(4) 从已知的 PK 实际上不可能推导出 SK,即从 PK 到 SK 是“计算上不可能的”。

(5) 加密和解密算法都是公开的。

RSA算法简介