要理解SSL就必须理解密码系统、消息摘要函数(单向或散列函数)和数字签名,这些技术是许多文献所讨论的主题(比如[AC96),提供了保密性、完整性和认证的基础。

密码系统

假设Alice想给她的银行发一个消息以划转资金,并希望这个消息是保密的,因为其中含有她的帐号和划转金额等信息。一种方案是使用密码系统,将要 传输的信息转变为加密形式,从而只能为希望他读懂的人读懂。一旦加密为这种形式,这条消息也许只能用一个密钥来破译,如果没有,那么这条信息毫无用处,因 为好的密码系统可以使破译难度高到***者认为原文不值得他们花费那么大的努力。

常规密码:又称为对称密码,需要发送者和接收者共同持有一个密钥:一小段用来加密和解密的秘密信息。如果这个密 钥是保密的,那么这条消息除了发送者和接受者以外可能没有人可以阅读。如果Alice和银行共同持有一个密钥,则可以互相发送保密信息。但是,私有通讯密 钥的选择行为本身,却可能不是无懈可击的。

公共密钥密码:又称为不对称密码,定义了一种使用两个密钥的算法以解决密钥交换问题,一个密钥用于加密,另一个用于解密,从而使简单公布一个密钥(公共的密钥,简称:公钥)而保留其他的(私有的密钥,简称:私钥)以接收保密消息成为可能。

任何人都可以用公钥加密一条消息,而仅允许私钥的持有者阅读。如此,Alice就可能使用公钥加密其保密消息,发送给私钥的持有者(银行),只有银行能够对它解密。

消息摘要

虽然Alice可能加密其消息使它称为私有的,但仍应注意到某些人可能会篡改或替换其原始消息,以划转资金到他们自己的帐户。一种保证Alice消息完整性的方法是同时发一个其消息的简单摘要给银行,供银行与消息本身比对,如果相符则消息正确。

这样的方法被称为消息摘要、单向函数散列函数。消息摘要用于对较大而且变长的消息建立较短而且等长的一种表述,其设计使将摘要还原成消息极其困难,而且对两个不同的消息几乎不可能生成相同的摘要,从而排除了替换一个消息为另一个而维持相同摘要的可能性。

Alice面临的另一个挑战是要保证摘要发送到银行的安全,如此,才能确保消息的完整性。

一种解决方法是在摘要中包含数字签名。

数字签名

当Alice发送消息到银行,银行需要确认此消息的确是她发送的,而不是***者盗用其帐号。为此,可以在消息中包含一个由Alice建立的数字签名

数字签名是以加密的消息摘要和其他信息(比如一个流水号)以及发送者的私有密钥建立的。虽然任何人都可能用公共密钥解密签名,但是只有签发者知道其私有密钥,也就是,只有密钥的持有者才能签发。包含在签名中的摘要只对该消息有效,以确保没有人可以改变摘要而保持签名不变。

为了避免签名日后被***者破译和再利用,签名包含有一个流水号。如此,万一(只是假设)Alice并没有发送此消息,虽然她可能真的签发过,银行可以免遭其欺诈性指控。

转载于:https://blog.51cto.com/11357156/1774947

理解SSL必须要理解的密码技术相关推荐

  1. 科大讯飞刷新纪录,机器阅读理解如何超越人类平均水平? | 技术头条

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」明日开启,扫码咨询 ↑↑↑ 记者 | 琥珀 出品 | AI科技大本营(公众号ID:rgznai100) 对于日常从事模型训练的研究人员来 ...

  2. 北风设计模式课程---深入理解[代理模式]原理与技术

    北风设计模式课程---深入理解[代理模式]原理与技术 一.总结 一句话总结: 不仅要通过视频学,还要看别的博客里面的介绍,搜讲解,搜作用,搜实例 设计模式都是对生活的抽象,比如用户获得装备,我可以先装 ...

  3. 视频教程-【深入理解计算机网络】“数制”视频课程-网络技术

    [深入理解计算机网络]"数制"视频课程 国内IT图书作者,网络技术讲师,华为授权讲师.共著有近60部计算机网络著作,新代表作:<Cisco/H3C交换机|路由器"豪 ...

  4. 简述自然语言理解的层次划分及对应的技术

    简述自然语言理解的层次划分及对应的技术 语音分析:根据音位规则,从语音流中区分独立的音素,根据音位形态规则找出音节机器对应的词素或词.对应技术:模式匹配 词法分析:找出词汇的各个词素(词根),从中获得 ...

  5. 《图解密码技术》读后的总结

    <图解密码技术>我认为是一本密码学入门的易读书,身边的几个做密码相关工具的朋友都推荐我看看,这次有时间就看了下. 本书是我11月份开始阅读的,一共用了25天,每天读完后都会把一些我认为是重 ...

  6. 读《图解密码技术》(三):密钥、随机数和应用技术

    最后一篇了,如果还没看过前两篇的,最好先翻回去看看,因为这最后一篇的内容是建立在前两篇的基础之上的.本篇的内容包括密钥.随机数.PGP.SSL/TLS,最后再讲讲密码技术的现状和局限性,以及简单介绍一 ...

  7. 密码技术学习一:密码

    0.前言 本文是作者阅读<图解密码技术>时,学习总结的一些知识,在此推荐想要深入学习密码知识的同志,将此书作为入门书来看还是比较适合的. 1.密码技术简介 1.1加密与解密 在两者通信过程 ...

  8. 开发常见密码技术概念RSA使用示例

    一.单向散列函数 1.1 概念及术语 单向散列函数(one-way hash function)有一个输入和一个输出,其中输入称为消息(message),输出称为散列值(hash value).单向散 ...

  9. 《图解密码技术》总结

    1.对称加密 对称加密:加密和解密使用相同的密钥 可解决的问题:机密性 常见算法:DES.3DES.AES 存在的问题:密钥配送问题 关于分组密码: DES和AES都属于分组密码 分组密码:只能加密固 ...

最新文章

  1. android switcher控件,Android ViewSwitcher 的功能与用法
  2. python List,切片的用法
  3. ad采样频率_使用AD5933分析复阻抗的时钟频率设置
  4. hybrid app、web app与native app工具
  5. ERROR: cannot start IntelliJ IDEA. No JDK found to run IDEA. Please validate either IDEA_JDK, JDK_HO
  6. 一个RecycleView的强大adapter
  7. mysql外键依靠主键_mysql设置外键(主键依赖)
  8. 通过channel进行goroutine间的通信
  9. 排序算法之——三路快排分析
  10. 梦幻西游跑商脚本教程
  11. 计算机桌面不能显示桌面,笔记本不显示桌面怎么回事_笔记本电脑开机不显示桌面如何处理-win7之家...
  12. 如何在Apple Watch上关闭“嘿Siri”
  13. 《基于多任务神经网络的语种识别研究》——秦晨光
  14. RobotFramework相关
  15. 多家技术公司喊停的人脸识别业务,被这家波兰网站玩火了!
  16. 赛效:怎么用改图宝给图片添加水印?
  17. 码分多址(CDMA),码片序列简单理解
  18. 有一页式系统,其页表存放在内存中. (1)如果对内存的一次存取需要1.5微秒,问实现一次页面访问的存取时间是多少? (2)如果系统增加有快表,平均命中率为85%,.....
  19. PCIE4.0 抖动介绍
  20. Revit土建翻模:梁端点连接方式的操作及梁生成

热门文章

  1. Javascript在IE中的有趣错误
  2. Material Designer的低版本兼容实现(十)—— CheckBox RadioButton
  3. Windows注册文件类型信息的学习心得
  4. 任意次序的n个烙饼最小反转次数求解 暑期学习笔记(十)
  5. Java Web开发中文乱码问题
  6. Html 5.2 的简单介绍及新增元素 dialog/dialog
  7. 面试程序员总结的通病!
  8. 面向对象分析和设计(OOA/D)
  9. C# - 委托中的逆变
  10. JAVA多线程之中断机制(如何处理中断?)