有没有一种物理锁可以展示非对称加密原理?

9

我希望用现实世界的锁来演示非对称加密。例如,我想在一张纸上写下一个秘密,并将其存放在一个锁着的盒子里。有没有一种锁是我可以购买的,它配有两把钥匙,一把只能 锁住 锁,另一把只能 打开 锁?

5个回答

13

2
为了演示,这个挂锁本身就是一个“钥匙”(公钥)。 - Paolo
我喜欢这个的工作方式。有点不幸的是,公共密钥使用物理来表示...希望它不会太让人困惑。看起来这个例子在其他受众身上已经起作用了。 - Adam Paynter

10
我喜欢David的回答,但我想提一下,我看过将其作为安全性的一个不好的例子进行演示 - 原因是没有办法确保Alice收到了Bob发送的挂锁(Eve可能会在传输中将其替换为不同的挂锁)。
然后演示继续进行到一个有一个盒子和两个挂锁的例子,这是明显安全的...
Alice把消息放在盒子里,并用她的挂锁(公钥挂锁)锁上。 将盒子发送给接收者(Bob)。
Bob添加另一个挂锁(私钥挂锁)。 将盒子发送回Alice。
Alice使用她的密钥取下公钥挂锁,这意味着包裹现在仅由私钥保护。
Alice将盒子退还给Bob,Bob现在可以使用私钥解锁。
为了增加效果,您可以让Eve来回传递盒子,并展示在任何时候Eve都无法进入盒子。这是一个很好的物理例子,并且易于理解,表明在所有点上包裹都是安全的。

2
如果Eve在每个步骤中都采取以下行动会怎样:1. 保留来自Alice的盒子(我们称其为盒子1)并向Bob发送另一个盒子(我们称其为盒子2),其中包含Eve的消息,并使用Eve的挂锁锁住,2. 保留来自Bob的盒子2并将带有Eve挂锁的盒子1发送给Alice,3. 在从Alice那里收回盒子1后,它仅受到Eve自己的挂锁的保护(来自步骤2),因此Eve可以访问盒子1中的消息并且可以从中删除她自己的挂锁(来自步骤1)后将盒子2退回Bob(带有他的挂锁)。 - Piotr Dobrogost
Eve如何在没有Alice的钥匙的情况下移除她的挂锁,以便将消息移动到box2?这就是物理示例失效的地方。在数字世界中,您可以复制整个盒子和锁。在现实世界中,我们还没有像《星际迷航》中的粒子复制器:) - Denham Coote

3
使用一个有两个门和两个不同锁的盒子。安排盒子内部使其只能按照一种方式工作,类似于街角的邮箱。
另一种方法是将盒子和挂锁组合视为加密密钥。您可以通过获取1)一个盒子,2)挂锁,3)将东西放进盒子并锁上来构建消息。那个挂锁的物理钥匙就是解密密钥,这符合模型,因为加密密钥不能解锁消息。

0

这个神奇的锁应该有两把钥匙(假设它们是key1和key2)。

如果你用key1锁上它,那么你就不能用key1打开它。

如果你用key2锁上它,那么你就不能用key2打开它。

如果你用key1锁上它,那么你就必须用key2打开它。

如果你用key2锁上它,那么你就必须用key1打开它。

所以,如果我用key1锁上,那么另一个人会用key2锁上。然后他可以用key2锁上,我就能用key1打开它。

让我们再进一步。我们制作1000份key2的副本并公开分发。现在任何人都可以拿走key2(包括小偷和骗子)锁上盒子,只有我用key1才能打开它。这将给我们保密性。

现在,如果我用key1锁定一条消息,那么1000个人(包括小偷和骗子)可以使用key2打开它。所以,保密性就不存在了。那么为什么还有人想这样做呢?嗯,这给了我们真实性。我的意思是,如果你能用key2打开盒子,那么里面的消息肯定是我写的,因为只有我有key1。

在加密世界中,我们称key1为私钥,key2为公钥。这些密钥在数学上相互关联。更准确地说,两个密钥都是通过一个具有许多解的方程式创建的。只有当你得到解决方案时才能解锁。现在,key1有足够的提示来获得key2的解决方案,而key2也有足够的提示来获得key1的解决方案。

这就是非对称加密的要点。


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接