lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1846 随笔 :: 0 文章 :: 109 评论 :: 288万 阅读

 

 
通讯条件
我有两把锁和两把对应的钥匙:
私钥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
 
事实上每人都有两把锁和对应的钥匙。
posted on   白露~  阅读(765)  评论(1编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2018-05-28 读:刘未鹏|我在南大的七年
2018-05-28 分布式之redis复习精讲
2018-05-28 JAVA多线程17个问题
点击右上角即可分享
微信分享提示