7

我希望使用真实世界的锁来演示非对称加密。例如,我想在一张纸上写下一个秘密,然后将它存放在一个上锁的盒子里。有没有我可以买的带有两把钥匙的锁,一把只锁,另一把只开锁

4

4 回答 4

12

通常的例子是挂锁和钥匙。

Bob 给了 Alice 一把挂锁(他的“公钥”),他保留了挂锁的钥匙(他的“私钥”)。

爱丽丝在一个盒子里放了一条消息,然后把挂锁扣在盒子上。然后她把盒子寄给鲍勃。

Bob 可以用他的钥匙解锁它。

对此的扩展版本在https://web.archive.org/web/20130708131404/http://www.economicexpert.com/a/Asymmetric:key:algorithm.html中进行了描述

于 2010-02-05T13:08:39.147 回答
8

我喜欢大卫的回答,但只是想提一下,我已经看到这是一个不好的安全例子——原因是没有办法确保爱丽丝收到鲍勃发送的挂锁(夏娃可以把它换成运输中的不同挂锁)

然后演示转到一个带有一个盒子和两个挂锁的示例,这证明是安全的……

爱丽丝将消息放入盒子并用她的挂锁(公钥挂锁)将其锁定 将盒子发送给收件人(鲍勃)

Bob 添加了另一个挂锁(私钥挂锁) 将盒子发送回 Alice

Alice 移除了公钥挂锁(使用她的密钥),这意味着该包现在仅受私钥保护。

爱丽丝将盒子返回给鲍勃,鲍勃现在可以用私钥解锁。

为了增加效果,您可以让 Eve 来回传递盒子,并显示 Eve 绝对不能进入盒子。这是一个很好的物理示例,并且很容易理解,以显示包装在所有方面都是安全的。

于 2010-02-06T18:34:08.130 回答
3

使用带有两扇门和两把不同锁的盒子。安排盒子的内部结构,使其以一种方式工作,类似于街角邮箱。

或者,查看框加挂锁组合作为加密密钥。您通过获取 1) 一个盒子,2) 挂锁,3) 将一些东西放入盒子并锁定它来构建一条消息。该挂锁的物理密钥就是解密密钥,它适合模型,因为加密密钥无法解锁消息。

于 2010-02-05T13:07:39.800 回答
0

如果您想更进一步,请查看CoreStreet 的智能卡锁产品。这是他们的事。

于 2010-02-05T14:35:53.903 回答