【简译】公钥加密是如何工作的

 我来答
天然槑17
2022-06-11 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6508
采纳率:100%
帮助的人:37.4万
展开全部

最近在学习非对称加密的时候,在外网看到的一篇不错的“扫盲”文,遂简译过来分享给大家。

公钥加密,又称作非对称加密,使用的是两个key而不是一个共享的key。这两个key分别称作:公钥(public key)和私钥(private key)。公钥加密在网络安全领域是非常重要的技术。

公钥加密是一个是用到两个不同的key的加密数据的方法,这其中,公钥是公开的,允许任何人使用的,相反的,私钥是保密的、私有的。使用公钥加密的数据 只能够 被私钥解密,反过来同样,使用私钥加密的数据 只能够 被公钥解密( 木:"注意这里很多人误以为只能公钥加密私钥解密。" )。公钥加密同样被称作非对称加密,它的使用非常广泛,典型的例子就是TLS/SSL,它让HTTPS成为了可能。

在密码学中,一串key可以用来打乱数据从而让数据看起来变得杂乱无章,通常这串key是一个非常大的数字,或者一串数字字母组合。当把未加密的数据,即明文数据,放到一个含有key的加密算法中,在结果中就会得到一串看起来非常随机和杂乱的“数据”。这时候,只有一个拥有正确的key的人才可以将它变回原形,解密并且得到正确的明文数据。

举个例子,假设明文信息是 “hello”,然后使用一个key来对它加密,比如说这个key是 "2jd8932kd8"。加密后,“hello” 会变成 “X5xJCSycg14=”,看起来就很像随机的垃圾数据,但如果使用正确的key解密,我们就可以再次得到 “hello”。

公钥密码学对未接触过的人来说看起来很复杂,不过幸运的是,一位作者 Panayotis Vryonis 想到了一个类比的办法可以大致地说明这个流程。

想象一下,有一个箱子,Bob和Alice两个人需要用它来秘密地传递文件。为了安全起见,他们给箱子配上了一把锁,这把锁有两种状态:上锁态和解锁态。如果箱子被锁上了,任何一个有这把钥匙或者钥匙复制品的人都可以解锁这个箱子,反之亦然。当Bob锁住了这个箱子,然后把箱子交给Alice的时候,他是知道Alice有一把复制钥匙,所以是能够打开这个箱子的。这就是本质上的 对称加密 了:一个key既可以用来加密也可以用来解密,同时交互的两方使用的是同一个key。

现在,继续想象一下,不一样的是,这次Bob给箱子安了一个特制的锁,这把锁有三种状态:

另外,不同的是,这把锁需要用到两把不同的钥匙:

这意味着如果箱子被锁上了,同时锁孔被转到了A的位置,那就意味着只能用2号钥匙来解锁这个箱子了(往右转到中间位置解锁)。类似的,如果箱子被锁上了,同时锁孔转动到了C位置,那就只能用1号钥匙来解锁这个箱子了(往左转到中间位置解锁)。

换句话说,1号 2号钥匙都能锁住这个箱子,但是一旦被锁住,只能使用另一把来解锁箱子。

现在,Bob 复制了一批 2号钥匙,并把它们分给了所有他认识的和想要这把钥匙的人 ——— 这就是 公钥 了,Bob自己则保留着唯一的一把1号钥匙 ——— 这就是他的 私钥 了。

这样做究竟意味着什么?

到这里,我们把箱子换成明文密码,把钥匙换成密码学的公私钥,这就是公钥加密/非对称加密的工作流程和原理了。私钥加密的信息,只有公钥的拥有者可以解密,同时,公钥加密的数据,只有私钥的拥有者可以解密。这样,任何人都可以安全的把数据发送给私钥的拥有者,同时任何人都可以验证信息来源是私钥的拥有者而不是其他模仿者。

公钥加密/非对称加密对互联网的安全交互是非常有用的(通过HTTPS)。一个网站的 SSL/TLS 证书,就是公开出去的公钥,同时私钥是保存在来源服务器上的 —— 它是被网站所“拥有”的。

TLS 握手就是使用非对称加密来验证来源服务器的身份的,同时交换了必要的数据,来生成Sessiong Key。比如RSA 或者 Diffie-Hellman 算法就是使用了非对称加密的公私钥对来交换数据得到 Session Key,握手结束后,Session Key就会被当作对称加密的密钥来进行沟通。每一次会话,客户端与服务端都认同并接受新的session key,这样居心叵测的人 —— 哪怕他识别或者盗窃了其中一条session key,也不能够解密所有的交互数据( 木:“这是非常经典的非对称加密和对称加密混合使用的例子。” )。

这是一篇简单翻译的针对非对称加密的技术文,分享出来的主要原因就是文中对于公私钥加解密的举例非常巧妙,适合新人“扫盲”。希望大家有所收获。

原文链接: https://www.cloudflare.com/learning/ssl/how-does-public-key-encryption-work/

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式