公钥加密如何运作?

公钥加密,也称为非对称加密,使用两个单独的密钥而不是一个共享的密钥:公钥和私钥。公钥加密是用于互联网安全的重要技术。

学习目标

阅读本文后,您将能够:

  • 定义公钥加密
  • 了解公钥加密的运作原理
  • 了解为什么公钥加密对于TLS / SSL协议至关重要

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

使用 Cloudflare 的免费 SSL/TLS 提高安全性和信任度

什么是公钥加密?

公钥加密是一种使用两个不同的密钥加密或签署数据的方法,并使其中一个密钥(即公钥)可供任何人使用。另一个密钥称为私钥。用公钥加密的数据只能用私钥解密。由于这种方法使用两个密钥而不是一个,公钥加密也称为非对称加密。它被广泛使用,特别是用于 TLS/SSL,这使得 HTTPS 成为可能。

什么是加密密钥?

在密码学中,密钥是用于打乱数据以便使其显得随机的一条信息;它通常是一个很大的数字,或者是一串数字和字母。当使用密钥将未加密的数据(也称为明文)放入加密算法中时,明文会从另一面看似随机数据。但是,任何拥有正确密钥解密数据的人都可以将其放回纯文本格式。

例如,假设我们有一条纯文本消息“hello”, 然后用密钥加密;假设密钥是“2jd8932kd8”。使用此密钥加密后,简单的一句“hello”现在会成为密文“X5xJCSycg14 =”,这似乎是随机的垃圾数据。但是,通过使用相同的密钥对其进行解密,我们将能转回成“hello”。

纯文本+密钥=密文:

你好+ 2jd8932kd8 = X5xJCSycg14 = 

密文+密钥=纯文本明文:

 X5xJCSycg14 = + 2jd8932kd8 =你好

这是对称加密的一个例子,其中只使用一个密钥。在公钥加密中,将有两个密钥。公钥将加密数据,而私钥解密数据。

TLS/SSL 如何使用公钥加密?

公钥加密对于在互联网(通过 HTTPS)建立安全通信非常有用。网站公开共享的 SSL/TLS 证书包含公钥,而私钥安装在源服务器上,并由网站“所有”。

TLS 握手使用公钥加密技术对源服务器的身份进行身份验证,并交换用于生成对话密钥的数据。诸如 RSA 或 Diffie-Hellman 之类的密钥交换算法,使用公私钥对来协商会话密钥,一旦握手完成,会话密钥将用于对称加密。客户端和服务器能够为每个通信会话约定新的会话密钥,从而即使恶意角色识别或窃取了前一个会话的会话密钥之一也无法解密通信。