我希望用现实世界的锁来演示非对称加密。例如,我想在一张纸上写一个秘密,然后把它存放在一个锁着的盒子里。我能买到一把锁吗?有两把钥匙,一把只锁着锁,另一把钥匙只解锁?
发布于 2010-02-05 13:08:39
通常的例子是一个挂锁和一个钥匙。
Bob给Alice一个挂锁(他的“公钥”),他保存了那个挂锁的密钥(他的“私钥”)。
爱丽丝把一条信息放进一个盒子里,然后打开挂锁。然后她把盒子寄给鲍勃。
鲍勃可以用他的钥匙解锁。
发布于 2010-02-06 18:34:08
我喜欢大卫的回答,但我想提一提,我看到这是一个糟糕的安全例子--理由是,没有办法确保爱丽丝收到鲍勃寄来的挂锁(夏娃可以在运输中换一个不同的挂锁)。
然后,演示转移到一个示例,其中一个盒子和两个挂锁,这是演示安全.
爱丽丝把信息放在盒子里,用她的挂锁(公钥挂锁)把它锁起来,把盒子发送给接收者(鲍勃)。
Bob添加了另一个挂锁(私钥挂锁),将盒子发回给Alice
Alice删除公钥挂锁(使用她的密钥),这意味着包现在只受私钥保护。
Alice将返回框给Bob,Bob现在可以用私钥解锁。
为了增加效果,你可以让一个前夜来回传递盒子,并表明夏娃在任何时候都不能进入盒子。这是一个很好的物理例子,并且可以很容易理解地显示包在任何地方都是安全的。
发布于 2010-02-05 13:07:39
使用一个有两个门和两个不同锁的盒子。排列盒子的内部结构,使其能以一种方式工作,类似于街角邮箱。
或者,将框加挂锁组合视为加密密钥。您可以通过获取一个盒子、一个挂锁、3)把一些东西放在盒子里并锁定它来构造一条消息。然后,该挂锁的物理密钥是解密密钥,这符合模型,因为加密密钥不能解锁消息。
https://stackoverflow.com/questions/2207328
复制相似问题