图灵程序设计丛书:图解密码技术 pdf

图灵程序设计丛书:图解密码技术

内容简介

《图解密码技术》以图配文的形式,详细讲解了6种重要的密码技术:对称密码、公钥密码、单向散列函数、消息认证码、数字签名和伪数生成器。首先讲述了密码技术的历史沿革、对称密码、分组密码模式(包括ECB、CBC、CFB、OFB、CTR)、公钥、混合密码系统。第二部分重点介绍了认证方面的内容,涉及单向散列函数、消息认证码、数字签名、证书等。第三部分讲述了密钥、数、PGP、SSL/TLS以及密码技术在现实生活中的应用。

作者简介

结城浩 ,日技术作家和程序员。20年来笔耕不辍,在编程语言、设计模式、数学、密码技术等领域,编写著作三十余。代表作有《数学女孩》系列、《程序员的数学》等。周自恒(译者),IT、编程爱好者,初中时曾在NOI(国家信息学奥赛)天津赛区获一等奖,现就职于某管理咨询公司,任咨询顾问兼战略技术总监。译著有《图解CIO工作指南(第4版)》《大数据的冲击》《代码的未来》《30天自制操作系统》等。

目录

第1部分 密码
第1章 环游密码世界
1.1 章学习的内容
1.2 密码
1.3 对称密码与公钥密码
1.4 其他密码技术
1.5 密码学家的工具箱
1.6 隐写术与数字水印
1.7 密码与信息安全常识
1.8 章小结
1.9 小测验的答案
第2章 历史上的密码——写一篇别人看不懂的文章
2.1 章学习的内容
2.2 恺撒密码
2.3 简单替换密码
2.4 Enigma
2.5 思考
2.6 章小结
2.7 小测验的答案
第3章 对称密码(共享密钥密码)——用相同的密钥进行加密和解密
3.1 炒鸡蛋与对称密码
3.2 章学习的内容
3.3 从文字密码到比特序列密码
3.4 一次性密码——绝对不会被破译的密码
3.5 DES
3.6 三重DES
3.7 AES的选定过程
3.8 Rijndael
3.9 章小结
3.10 小测验的答案
第4章 分组密码的模式——分组密码是如何迭代的
4.1 章学习的内容
4.2 分组密码的模式
4.3 ECB模式
4.4 CBC模式
4.5 CFB模式
4.6 OFB模式
4.7 CTR模式
4.8 应该使用哪种模式呢
4.9 章小结
4.10 小测验的答案
第5章 公钥密码——用公钥加密,用私钥解密
5.1 投币寄物柜的使用方法
5.2 章学习的内容
5.3 密钥配送问题
5.4 公钥密码
5.5 时钟运算
5.6 RSA
5.7 对RSA的攻击
5.8 其他公钥密码
5.9 关于公钥密码的问答
5.10 章小结
5.11 小测验的答案
第6章 混合密码系统——用对称密码提高速度,用公钥密码保护会话密钥
6.1 混合动力汽车
6.2 章学习的内容
6.3 混合密码系统
6.4 怎样才是高强度的混合密码系统
6.5 密码技术的组合
6.6 章小结
6.7 小测验的答案
阅读
第2部分 认证
第7章 单向散列函数——获取消息的“指纹”

感悟与笔记

图解密码技术

将明文内容生成密文的过程称作加密,将密文内容解析成明文内容称作解密。

密码技术分类

  1. 对称密码
  2. 非对称密码(公钥密码)
  3. 单向散列函数
  4. 消息认证码
  5. 数字签名
  6. 伪随机数生成器

对称密码

对称密码的加密方和解密方都需要知道密钥,他们所持有的密钥是相同的。所以对称密码的关键在于密钥使用一种密钥空间巨大,且在算法上没有弱点的对称密码,就可以通过密文来确保明文的机密性。巨大的密钥空间能够抵御暴力破解,算法上没有弱点可以抵御其它类型的攻击。然而,使用对称密钥进行通信时,还会出现密钥的配送问题,即如何将密钥安全的发送给接受者。为了解决密钥配送问题,我们需要使用到公钥密码技术。

备注:有时我们使用对称密码时,为了避免配送密钥问题,我们一开始就约定密钥协商好然后保存在双方,每次都不改变密钥,那么每次就不用配送密钥了。 本人在开发微信支付时,微信是支持这种方式的。

在对称密码中,由于加密和解密的密钥都是相同的,因此必须向接收者配送密钥。用于解密的密钥必须被配送给接收者,这一问题称为密钥配送问题。如果使用公钥密码,则无需向接收者配送用于解密的密钥,这样就解决了密钥配送问题。公钥密码是密码学历史上伟大的发明。

解决密钥配送问题有如下几种方法

  1. 通过事先共享密钥来解决
  2. 通过密钥分配中心来解决
  3. 通过Diffie-Hellman密钥交换来解决 
  4. 通过公钥密码来解决

公钥密码

公钥密码的关键点在于加密时使用的密钥和解密时使用的密钥是不同的。准确解释公钥密码:使用公钥加密,使用私钥解密。

公钥密码中加密密钥(公钥)和解密密钥(私钥)

  1. 发送者只需要公钥
  2. 接收者只需要私钥
  3. 私钥一定要保存好,不能被窃听者获取
  4. 公钥即使被窃听者获取也没关系

公钥密码存在的小问题

  1. 公钥认证问题
  2. 公钥密码处理效率没有对称密码高

但是这两个小缺点并不影响公钥密码的广泛使用

使用公钥密码能够解决密钥配送问题。公钥密码是密码学界的一项革命性的发明,现代计算机和互联网中所使用的密码技术都得益于公钥密码。对称密码通过对将明文转换为复杂形势来保证其机密性,相对的公钥密码则是基于数学上困难的问题来保证机密性。例如RSA就是利用大整数的质数分解问题的困难度。因此对称密码和公钥密码源于两种完全不同的思路。即使已经有了公钥密码,对称密码也不会消失。公钥密码的运行速度远低于对称密码,因此在一般的通信过程中,往往配合使用这两种密码。即用对称密码提高处理速度,用公钥解决密钥配送问题。

公钥密码最典型的实现是RSA

单向散列函数

单向散列函数锁保证的并不是机密性,而是数据完整性。完整性指的是数据不是伪造没有被篡改过。

单向散列函数是一种保证完整性的密码技术。

实际应用比如:软件发布者通常会一同发布软件的MD5或SHA1的值,以便下载使用者确认下载的软件是否被篡改过。

备注:理解散列函数很有帮助

消息认证码

消息认证码不仅能够保证完整性,还能够提供认证机制

数字签名

数字签名是一种能够确保完整性、提供认证并防止否认的密码技术

伪随机数生成器

伪随机数生成器是一种能够模拟产生随机数的算法.实际上随机数承担着密钥生成的重要职责。

例如web中的SSL/TLS通信时,会生成一个仅用于当前通信的临时密钥。

密码种类总结

密码与信息安全常识

  1. 不要使用保密的密码算法
  2. 使用低强度的密码比不进行任何加密更危险
  3. 任何密码总有一天会被破解
  4. 密码知识信息安全的一部

总结

学习密码技术应该按照划分种类来学习,其中对称密码和公钥密码需要重点掌握。

会员免费下载

链接:https://pan.baidu.com/s/1Yn-IehTgf1SVqmnTwRXbng

提取码: ****** 查看

¥69/年 开通VIP会员

成为本站VIP会员即可无限下载。 请先点击百度网盘,看资源是否还在,不在请点击链接通知站长补资源。

资源标签点击标签可查看对应分类的资源

其他

资源推荐

免费 图解数据结构:使用Java

C++ 程序设计语言:第4部分 标准库(原书第4版)

C++编程思想(两卷合订本)

CSS世界

JavaScript DOM编程艺术(第2版)

C++ Primer Plus(第6版) 中文版

Vue.js快速入门

Java编程思想(第4版) [thinking in java]

Copyright © 2021-2022 知识猫. All Rights Reserved.