DH

蛋老师视频

  1. 双方确定公开的内容
  2. 用各自的私钥分别对公共内容加密(加密本质就是数学运算)并发送给对方
  3. 这时双方使用自己的密钥对收到的内容加密(要设计运算保证最后结果相同,也就是两步运算的顺序是可以调换的),双方就得到了共同的结果(作为公共密钥)

这样就实现了安全的将密钥传递给对方的目的
由于私钥没有被传递所以监听者无法得到最终的公共密钥(这依赖于难运算,如离散对数等数学难题)

为了防止破解 运算方法应当不能被逆运算或难以被逆运算
加密是为了防止传输过程被监听劫持,如果客户端被劫持就不可能保密了

中间人篡改问题

劫持数据 分别发送给双方 成为隐形的中间人

比对哈希值可以确认信息是否篡改,但哈希值也可被篡改

SSH

蛋老师视频

沟通确定使用哪种算法,实现不为人知的密钥

客户端临时密钥对
服务端临时密钥对
双方交换临时公钥

服务端使用临时私钥加密 哈希签名 发送给客户端

哈希签名:一些双方共知的信息运算得到的哈希值

客户端使用 服务端临时公钥 解密哈希签名 验证信息是否被篡改

这种方法并不能解决一开始通讯就被劫持一直与中间人进行沟通的情况
通常第一次与服务器联系时被劫持的可能性较小(除非一早就被盯上了),当ip信息更改提示时应当警惕

一些方案降低风险

SSH 证书 验证证书
公钥认证 避免重复输入密码 客户端公钥保存到服务端

DH 算法思想 SSH解决内容篡改问题相关推荐

  1. 动态规划算法思想解决找零钱问题

    前言 关于找零钱问题,网上已经有很多相关的资料以及优秀的文章博客等.这里写这篇博客的初衷很简单,就是为了方便自己,回过头来捡起这个知识能快一点,接受起来更易理解点:他人的文章写的再好,毕竟是别人的,学 ...

  2. Java使用动态规划算法思想解决01背包问题

    Java使用动态规划算法思想解决背包问题 背包问题是一种组合优化的NP完全问题.问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高 动 ...

  3. 通过这一篇文章就了解机器学习的主要内容和核心思想(包括一些算法思想总结)!!!

    机器学习总结–一篇文章了解机器学习的主要要点和基础 L1和L2正则化项 对于L1正则项来说,因为L1正则项是一组菱形,这些交点容易易落在坐标轴上.因此,另⼀一个参数的值在这个交点上就是0,从⽽而实现了 ...

  4. 密钥协商算法的演变 —— RSA算法 - DH算法 - DHE算法 - ECDHE算法

    文章目录 1. RSA算法 RSA握手过程 RSA秘钥协商算法最大的缺陷 2. DH算法 3. DHE算法 4. ECDHE算法 ECDHE秘钥协商算法的TSL握手: 1. RSA算法 传统的 TLS ...

  5. JAVA工程师常用算法_算法工程师必须要知道的8种常用算法思想

    算法思想有很多,业界公认的常用算法思想有8种,分别是枚举.递推.递归.分治.贪心.试探法.动态迭代和模拟.当然8种只是一个大概的划分,是一个"仁者见仁.智者见智"的问题. 1.1 ...

  6. RCNN算法思想简单讲解概述————(究极简单的讲述和理解)

           学习的过程中发现一个问题,如果不能大概的了解一下一个算法的思想直接去看他的论文,或者去看他算法的讲解就很痛苦,看不懂,学的效率也非常低,类似我之前发的RCNN论文精度的博客.RCNN目标 ...

  7. 深度学习前沿算法思想

    转自: 深度学习前沿算法思想 导读 第一版: 深度学习前沿算法思想 深度学习实践:使用Tensorflow实现快速风格迁移 行为识别:让机器学会"察言观色"第一步 第二版: 谷歌首 ...

  8. 机器学习常见算法思想的面试宝典

    本文转载自机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会 ...

  9. 【Leetcode之算法思想】

    Leetcode只算法思想 学习CS-Notes的leetcode 提示:小小记录...~ 文章目录 Leetcode只算法思想 一.双指针 最长序列 二.排序 数组中出现频率最高的k个数 按照字符出 ...

  10. 第二讲 算法思想的发展历程

    第二讲   算法思想的发展历程 教学目标与教学指导: 算法思想源远流长,中国古代数学中就蕴涵了丰富的算法思想.随着现代信息技术飞速发展,算法在科学技术.社会发展中发挥着越来越大的作用,并且日益融入社会 ...

最新文章

  1. Linux平台Oracle安装脚本
  2. Ubnutu虚拟机怎么修改开机密码?(在已知旧密码的情况下,开机后设置新的密码的方法)
  3. Spring系列之一 Spring MVC
  4. 历史快照_实用脚本--合理估算oracle数据库及数据库对象历史增长情况
  5. Sybase:数据类型(对比sqlserver)
  6. hdu 4279 Number (找规律)
  7. docker每次都重新拉取远程镜像的问题
  8. linux vnc服务器6,Linux(RHEL6\CENTOS6\OLE6) 下VNC-SERVER安装与配置
  9. 数字高程信息30m分辨率SRTM DEM数据下载与拼接(ENVI)
  10. jad反编译成java,反编译工具jad的使用(将*.class文件变成*.java文件,附带jad.zip包)...
  11. PS入门教程之字体的变形艺术
  12. 操作系统应用阶层现状,对操作系统的认识
  13. Python结巴中文分词工具使用过程中遇到的问题及解决方法
  14. Android 发送短信
  15. 如何学习linux系统
  16. 一分钟教会你音频配音乐怎么制作
  17. [转载]海康摄像头_2
  18. 让人头疼的哈夫曼树与编码
  19. 由计算机病毒引起的现象,计算机病毒的症状
  20. MySql 数据库 知识点

热门文章

  1. 数据分析可视化图表mysql_50个最有价值的数据可视化图表
  2. 小米商城html+css+js全代码
  3. 正则表达式同时匹配中英文及常用正则表达式
  4. 浅聊||高速PCB过孔设计需要注意这些问题
  5. 传输线理论  特征阻抗
  6. 如何在IntelliJ IDEA 中导入别人写好的项目
  7. 使用深度学习进行表检测、信息提取和构建
  8. Odoo12有那些功能?『江苏odoo云整理』
  9. 3D MAX 中 CR 渲染较慢?Corona渲染器优化建议来了
  10. PDF文件怎么转换成Excel表格?学会这个方法轻松转换。