非对称加密是一种公开密钥密码系统,要求密钥成对使用,即加密和解密分别由两个密钥来实现,每个用户都有一对密钥。典型的公开秘钥算法如RSA算法

应用

  1. 通过Linux 或者Mac 的Terminal使用ssh命令,登录远程主机(将公钥追加到authorized_keys,可以免密码登录)
  2. github网站,可以以ssh协议方式,上传下载(将自己的公钥交给github,然后自己保留对应的私钥,这样git push或者git pull不再需要输入密码)

角色

按照密码学惯例

人名 角色
Alice 所有协议的第一个参加者
Bob 所有协议的第二个参加者
Mallory 恶意的主动攻击者
Peggy 证明人

简单说,如果Alice,使用非对称加密和Bob建立连接(登录),我们就可以认为,这种连接是安全的,即使加密后的密码被中途截获也无法破解出真正的密码。

有密码连接

  1. Bob收到Alice的请求,把自己的公钥发给Alice。
  2. Alice将密码用Bob的公钥加密后,发送给Bob。
  3. Bob用自己的私钥解密收到的加密内容,如果密码正确,那么连接成功。

中间人攻击

  1. 如果Mallory冒充Bob,截获了登录请求,并给Alice发一个自己伪造的公钥
  2. Alice把密码用Mallory的公钥加密后发送给Mallory
  3. Mallory用自己的私密解密,从而获取密码
  4. Mallory再用这个密码冒充Alice和Bob建立连接

解决方案

让Alice明确的知道要连接的人就是Bob,那么Bob可以让Peggy证明(在网站上将自己的公钥指纹贴出来),这样Alice在连接的时候,比对公钥指纹就能知道对方是不是真的Bob

无密码连接

  1. Alice将自己的公钥发给Bob保存
  2. Bob收到Alice的请求,然后向Alice发送一段随机字符串
  3. Alice用自己的私钥加密后,再发给Bob。
  4. Bob用事先储存Alice的公钥解密,如果字符串相同,就证明就是Alice,建立连接成功

文件

实际比如Linux Terminal使用ssh存在三种类型的文件,每台机器都可以具有它们。

  1. id_rsa.pub 和 id_rsa:保存每个角色各种的公钥,私钥
  2. known_hosts:保存一些可信赖的远程主机的公钥,如果连接的主机不在其中,那么会输出提示对方的公钥指纹,这个时候就需要权衡,如到网站看指纹是否正确,从而避免中间人攻击
  3. authorized_keys:保存被设置为免密码登录机器的公钥

总结

可以发现公钥即可以用于加密,也可以用于解密,私钥同样如此。连接双方都各自保存了对方的公钥,不过作用不一样

Happy Learning !!

Alice和Bob的故事---非对称加密相关推荐

  1. Alice和Bob的故事

    Alice 和 Bob 的故事 没错,这篇内容写的就是上一篇开头提到的那个"极其无聊的问题".本来不打算写的,既然研究过,还是整理出来纪念一下. 不论是看艰深的论文,还是看 那 些 ...

  2. 一文看懂对称加密、非对称加密、摘要、数字签名、数字证书

    文章目录 前言 从一个故事说起 1. 对称加密 2. 非对称加密 3. 摘要 4. 数字签名 5. 中间人攻击 6. 数字证书 参考资料 前言 最近需要实现一个艺术品买卖交易平台.由于安全性的需求,学 ...

  3. 非对称加密,我终于理解了!

    2019独角兽企业重金招聘Python工程师标准>>> http://blog.csdn.net/xiaoy20618/article/details/47083837 北京的Bob ...

  4. 【加密】对称加密DES和非对称加密AES、数字签名|非对称加密--公钥和私钥的区别

    目录 对称加密DES和非对称加密AES.数字签名 对称加密 1.1 定义 1.2 优缺点 1.3 常用对称加密算法 非对称加密( Asymmetric Cryptography ) 非对称加密(现代加 ...

  5. RSA加密原理:非对称加密鼻祖

    加密算法 加密算法,RSA是绕不开的话题,因为RSA算法是目前最流行的公开密钥算法,既能用于加密,也能用户数字签名.不仅在加密货币领域使用,在传统互联网领域的应用也很广泛.从被提出到现在20多年,经历 ...

  6. 对称加密 与 非对称加密

    2019独角兽企业重金招聘Python工程师标准>>> 明文: 没有被加密过的内容 密文: 已经被加密的内容 算法: 通过算法对明文进行加密,如移位,置换 密钥: 加密时需要的密码, ...

  7. 网络协议从入门到底层原理(7)网络安全 - 常见攻击、单向散列函数、对称加密、非对称加密、混合密码系统、数字签名、证书

    网络安全 网络层 - ARP欺骗 DoS.DDoS 介绍与防御 传输层 - SYN洪水攻击(SYN flooding attack) 传输层 - LAND攻击 应用层 - DNS劫持.HTTP劫持 H ...

  8. 网络安全 —— 对称与非对称加密

    1. 对称非对称 信息的加密可分为对称和非对称两种方式,前者表示加密后的信息可以解密成原值,而后者无法根据加密后的信息还原为原值(public key 用于加密,secret key 用于解密). 对 ...

  9. 对称加密与非对称加密,以及RSA的原理

    一 , 概述 在现代密码学诞生以前,就已经有很多的加密方法了.例如,最古老的斯巴达加密棒,广泛应用于公元前7世纪的古希腊.16世纪意大利数学家卡尔达诺发明的栅格密码,基于单表代换的凯撒密码.猪圈密码, ...

最新文章

  1. WGS 1984 Web Mercator 对于在线地图服务的意义
  2. android LinearLayout添加分隔线
  3. 用 docker secrets 保存 appsettings.Production.json
  4. VC的Win32控制台程序中使用MFC库文件
  5. 万万没想到,JVM内存结构的面试题可以问的这么难?
  6. 虚拟机运行Gazebo出现VMware: vmw_ioctl_command error
  7. C# 如何在空间运行时调整控件位置和大小
  8. sql 创建存储过程
  9. tomcat日志配置(停止日志或修改日志路径)
  10. 第四章 信道与信道容量
  11. 只需一个损失函数,一个超参数即可压缩BERT,MSRA提模型压缩新方法
  12. 苹果手机语音备忘录在哪_手机备忘录在哪
  13. 移动宽带连接电信服务器不稳定,如何解决移动宽带网速不稳定的問題?
  14. Alibaba Cloud 3 (Soaring Falcon) x86_64(Py3.7.8) 系统 YUM源
  15. MySQL学习之MySQL引擎
  16. pyspider 爬取bing壁纸
  17. 为什么Vue组件里面data必须是个函数
  18. 阿里云王志坤:强劲可靠、无处不在的云,为创新保驾护航
  19. java根据路径将图片转base64
  20. 为什么计算机会出现乱码—(计算机基础课十二)​​​​​​​

热门文章

  1. EVE:[globbing] unmatched close brace/bracket in column 6
  2. 步骤条的实现原理及AliceUI中步骤条Step的应用
  3. Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效
  4. Mockplus Cloud Crack,项目管理顺畅
  5. 手把手教大家如何给域名申请免费SSL证书
  6. 使用阿里云二级域名申请免费ssl证书 nginx配置https
  7. [软考]协议VS合同
  8. 操作系统进程调度算法——吸烟者问题
  9. 手机怎么申请邮箱?手机邮箱下载
  10. 《Python程序设计入门与实践》219道课后习题答案