标签:
A、B两人分别在两座岛上。B生病了,A有B所需要的药。C有一艘小船和一个可以上锁的箱子。
C愿意在A和B之间运东西,但东西只能放在箱子里。只要箱子没被上锁,C都会偷走箱子里的东西,
不管箱子里有什么。如果A和B各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全递交给B?
答案:A把药放进箱子,用自己的锁把箱子锁上。B拿到箱子后,再在箱子上加一把自己的锁。箱子运回A后,A取下自己的锁。箱子再运到B手中时,B取下自己的锁,获得药物。
用加密学的原理解释:密码学里有公钥和私钥之分,这里就是说加密密钥和解密钥不同。对应这个题,应该就是上锁、开锁。 公钥可以为外人所知,而私钥只能自己知道。
所以,A把药放进箱子后,用自己的公钥锁上箱子,这时别人不知道A的私钥就打不开。C把箱子给B后,B用自己的公钥再加一把锁。
这时箱子有两个锁。再给A,A用私钥把自己的锁打开。再给B,就可以了。
标签:
原文地址:http://www.cnblogs.com/itboys/p/5634231.html