用现实生活的例子解释非对称加密

通讯条件
我有两把锁和两把对应的钥匙:
私钥A、私锁B
公锁A、公钥B
私钥A可以开公锁A,公钥B可以开公锁B
公锁A和公钥B放到了门外,所有人都可以拿
私钥A和私锁B,我自己藏着不让人知道
 
你也有两把锁和两把对应的钥匙:
私钥C、私锁D
公锁C、公钥D
公锁C和公钥D放到了门外,所有人都可以拿
私钥C和私锁D,你自己藏着不让人知道
 
通讯过程
  为了给你传递消息,我拿了你的公锁C来锁住我的消息,这时只有你能用私钥C来打开查看消息。为了让你知道这个消息是我发的,而不是别人发的,我拿了自己的私锁B,又在外面加了锁。
消息到你那以后,你先拿我的公钥B打开了我的私锁B,然后就看到了用你的公锁C锁住的消息,因为只有你自己有私钥C,所以只有你才能看到里面的消息。
 
  轮到你给我发消息了,你先拿我的公锁A锁住了消息,保证只有我能看到消息,然后为了证明消息是你发的,你就拿了你的私锁D在外面又加了一把锁,这把锁大家可用你的私钥D来开。
我收到消息后,去拿你的公钥D开了你外面的私锁D,然后用我的私钥A开了里面的公锁A,然后我就可以看到里面的消息了。
 
 
上面的例子对应于私钥公钥加密体制的公钥、私钥如下:
 
我的公钥:公锁A和公钥B
我的私钥:私钥A和私锁B
 
你的公钥:公锁C和公钥D
你的私钥:私钥C和私锁D
 
事实上每人都有两把锁和对应的钥匙。
原文地址:https://www.cnblogs.com/pathrough/p/4344229.html