非对称密码(公钥密码)—— 用公钥加密,用私钥解密

介绍:

非对称密码也称之为公钥密码(public-key cryptography),其中密钥分为加密密钥和解密密钥两种。发送者用加密密钥对消息进行加密,接收者用解密密钥对密文进行解密。 要理解公钥密码,清楚地区分加密密钥和解密密钥是非常重要的。加密密钥是发送者加密时使用的,而解密密钥是接收者解密时使用的。

加密过程
消息的接收者鲍勃需要先将自己的公钥发送给消息的发送者帕蒂,帕蒂用鲍勃的公钥对要发送的明文消息进行加密,得到密文消息。

解密过程
帕蒂将加密后的密文消息发送给鲍勃,鲍勃在获取到密文消息之后,用自己的私钥对其进行解密,最终得到帕蒂想要传递的明文消息。

非对称密码的特点

仔细思考一下加密密钥和解密密钥的区别,我们可以发现:

  • 发送者只需要加密密钥
  • 接收者只需要解密密钥
  • 解密密钥不可以被窃听者获取
  • 加密密钥被窃听者获取也没问题

也就是说,解密密钥从一开始就是由接收者自己保管的,因此只要将加密密钥发送给发送者就可以解决密钥配送问题了,而根本不需要配送解密密钥。

公钥密码中,加密密钥一般是公开的。正是由于加密密钥可以任意公开,因此该密钥被称为公钥(public key)。公钥可以通过邮件直接发送给发送者,也可以刊登在报纸的广告 栏上,做成看板放在街上,或者做成网页公开给世界上任何人,而完全不必担心被窃听者获取。

相对地,解密密钥是绝对不能公开的,这个密钥只能由你自己来使用,因此称为私钥(private key)。私钥不可以被别人知道,也不可以将它发送给别人,甚至也不能发送给自己 的通信对象。

公钥和私钥是一一对应的,一对公钥和私钥统称为密钥对(key pair)。由公钥进行加密的密文,必须使用与该公钥配对的私钥才能够解密。密钥对中的两个密钥之间具有非常密切 的关系———数学上的关系———因此公钥和私钥是不能分别单独生成的。
+