新書推薦:
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:HK$
58.2
《
慈悲与玫瑰
》
售價:HK$
87.4
《
启蒙的辩证:哲学的片简(法兰克福学派哲学经典,批判理论重要文本)
》
售價:HK$
76.2
《
云中记
》
售價:HK$
76.2
《
大模型应用开发:RAG入门与实战
》
售價:HK$
89.4
《
不挨饿快速瘦的减脂餐
》
售價:HK$
67.0
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:HK$
110.7
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:HK$
132.2
|
編輯推薦: |
2014年日本数学协会出版奖得主、《程序员的数学》作者 结城浩重磅力作
用最通俗的语言,讲清楚最复杂的事
拒绝繁冗的数学公式和干巴巴的理论,无需编程基础,配图讲解,真的很好懂!
全面涵盖现代密码技术,对称密码、公钥密码、单向散列函数、消息认证码、数字签名、伪随机数生成器、量子密码、量子计算机,一网打尽。
课后趣味练习题,巩固理解
|
內容簡介: |
本书以图配文的形式,详细讲解了6种最重要的密码技术:对称密码、公钥密码、单向散列函数、消息认证码、数字签名和伪随机数生成器。
第一部分讲述了密码技术的历史沿革、对称密码、分组密码模式(包括ECB、CBC、CFB、OFB、CTR)、公钥、混合密码系统。第二部分重点介绍了认证方面的内容,涉及单向散列函数、消息认证码、数字签名、证书等。第三部分讲述了密钥、随机数、PGP、SSLTLS 以及密码技术在现实生活中的应用。
|
關於作者: |
结城浩
日本资深技术作家和程序员。20年来笔耕不辍,在编程语言、设计模式、数学、密码技术等领域,编写著作三十余本。代表作有《数学女孩》系列、《程序员的数学》等。
作者主页:http:www.hyuki.com
周自恒
IT、编程爱好者,初中时曾在NOI(国家信息学奥赛)天津赛区获一等奖,现就职于 某管理咨询公司,任咨询顾问兼战略技术总监。译著有《图解CIO工作指南(第4版)》《大数据的冲击》《代码的未来》《30天自制操作系统》等。
|
目錄:
|
目录
第1部分 密码1
第1章 环游密码世界3
1.1 本章学习的内容4
1.2 密码4
1.2.1 Alice与Bob4
1.2.2 发送者、接收者和窃听者4
1.2.3 加密与解密6
1.2.4 密码保证了消息的机密性7
1.2.5 破译7
1.3 对称密码与公钥密码8
1.3.1 密码算法8
1.3.2 密钥8
1.3.3 对称密码与公钥密码9
1.3.4 混合密码系统10
1.4 其他密码技术10
1.4.1 单向散列函数10
1.4.2 消息认证码10
1.4.3 数字签名11
1.4.4 伪随机数生成器11
1.5 密码学家的工具箱12
1.6 隐写术与数字水印13
1.7 密码与信息安全常识14
1.7.1 不要使用保密的密码算法14
1.7.2 使用低强度的密码比不进行任何加密更危险15
1.7.3 任何密码总有一天都会被破解15
1.7.4 密码只是信息安全的一部分16
1.8 本章小结16
1.9 小测验的答案17
第2章 历史上的密码——写一篇别人看不懂的文章19
2.1 本章学习的内容20
2.2 恺撒密码20
2.2.1 什么是恺撒密码21
2.2.2 恺撒密码的加密21
2.2.3 恺撒密码的解密22
2.2.4 用暴力破解来破译密码23
2.3 简单替换密码24
2.3.1 什么是简单替换密码24
2.3.2 简单替换密码的加密25
2.3.3 简单替换密码的解密26
2.3.4 简单替换密码的密钥空间26
2.3.5 用频率分析来破译密码26
2.4 Enigma31
2.4.1 什么是Enigma31
2.4.2 用Enigma进行加密通信31
2.4.3 Enigma的构造32
2.4.4 Enigma的加密34
2.4.5 每日密码与通信密码36
2.4.6 避免通信错误36
2.4.7 Enigma的解密36
2.4.8 Enigma的弱点38
2.4.9 Enigma的破译38
2.5 思考40
2.5.1 为什么要将密码算法和密钥分开呢40
2.6 本章小结41
2.7 小测验的答案42
第3章 对称密码(共享密钥密码)——用相同的密钥进行加密和解密45
3.1 炒鸡蛋与对称密码46
3.2 本章学习的内容46
3.3 从文字密码到比特序列密码46
3.3.1 编码46
3.3.2 XOR47
3.4 一次性密码本——绝对不会被破译的密码50
3.4.1 什么是一次性密码本50
3.4.2 一次性密码本的加密50
3.4.3 一次性密码本的解密51
3.4.4 一次性密码本是无法破译的51
3.4.5 一次性密码本为什么没有被使用52
3.5 DES53
3.5.1 什么是DES53
3.5.2 加密和解密54
3.5.3 DES的结构(Feistel网络)54
3.6 三重DES60
3.6.1 什么是三重DES60
3.6.2 三重DES的加密60
3.6.3 三重DES的解密63
3.6.4 三重DES的现状64
3.7 AES的选定过程64
3.7.1 什么是AES65
3.7.2 AES的选定过程65
3.7.3 AES最终候选算法的确定与AES的最终确定65
3.8 Rijndael66
3.8.1 什么是Rijndael66
3.8.2 Rijndael的加密和解密66
3.8.3 Rijndael的破译68
3.8.4 应该使用哪种对称密码呢68
3.9 本章小结70
3.10 小测验的答案71
第4章 分组密码的模式——分组密码是如何迭代的73
4.1 本章学习的内容74
4.2 分组密码的模式75
4.2.1 分组密码与流密码75
4.2.2 什么是模式75
4.2.3 明文分组与密文分组76
4.2.4 主动攻击者Mallory76
4.3 ECB模式77
4.3.1 什么是ECB模式77
4.3.2 ECB模式的特点78
4.3.3 对ECB模式的攻击78
4.4 CBC模式80
4.4.1 什么是CBC模式80
4.4.2 初始化向量81
4.4.3 CBC模式的特点82
4.4.4 对CBC模式的攻击82
4.4.5 CBC的应用实例84
4.5 CFB模式85
4.5.1 什么是CFB模式85
4.5.2 初始化向量86
4.5.3 CFB模式与流密码86
4.5.4 CFB模式的解密87
4.5.5 对CFB模式的攻击87
4.6 OFB模式88
4.6.1 什么是OFB模式88
4.6.2 初始化向量89
4.6.3 CFB模式与OFB模式的对比89
4.7 CTR模式90
4.7.1 计数器的生成方法92
4.7.2 OFB模式与CTR模式的对比92
4.7.3 CTR模式的特点92
4.7.4 错误与机密性93
4.8 应该使用哪种模式呢93
4.9 本章小结94
4.10 小测验的答案95
第5章 公钥密码——用公钥加密,用私钥解密97
5.1 投币寄物柜的使用方法98
5.2 本章学习的内容98
5.3 密钥配送问题98
5.3.1 什么是密钥配送问题98
5.3.2 通过事先共享密钥来解决100
5.3.3 通过密钥分配中心来解决101
5.3.4 通过Diffie-Hellman密钥交换来解决密钥配送问题102
5.3.5 通过公钥密码来解决密钥配送问题102
5.4 公钥密码103
5.4.1 什么是公钥密码103
5.4.2 公钥密码的历史104
5.4.3 公钥通信的流程104
5.4.4 各种术语106
5.4.5 公钥密码无法解决的问题106
5.5 时钟运算106
5.5.1 加法107
5.5.2 减法109
5.5.3 乘法110
5.5.4 除法110
5.5.5 乘方114
5.5.6 对数114
5.5.7 从时钟指针到RSA115
5.6 RSA116
5.6.1 什么是RSA116
5.6.2 RSA加密116
5.6.3 RSA解密117
5.6.4 生成密钥对118
5.6.5 具体实践一下吧121
5.7 对RSA的攻击124
5.7.1 通过密文来求得明文124
5.7.2 通过暴力破解来找出D124
5.7.3 通过E和N求出D125
5.7.4 中间人攻击126
5.8 其他公钥密码128
5.8.1 ElGamal方式128
5.8.2 Rabin方式128
5.8.3 椭圆曲线密码128
5.9 关于公钥密码的问答128
5.9.1 公钥密码的机密性129
5.9.2 公钥密码与对称密码的密钥长度129
5.9.3 对称密码的未来129
5.9.4 RSA与质数130
5.9.5 RSA与质因数分解130
5.9.6 RSA的长度131
5.10 本章小结132
5.11 小测验的答案133
第6章 混合密码系统——用对称密码提高速度,用公钥密码保护会话密钥135
6.1 混合动力汽车136
6.2 本章学习的内容136
6.3 混合密码系统136
6.3.1 对称密码与公钥密码136
6.3.2 混合密码系统137
6.3.3 加密138
6.3.4 解密140
6.3.5 混合密码系统的具体例子141
6.4 怎样才是高强度的混合密码系统141
6.4.1 伪随机数生成器141
6.4.2 对称密码142
6.4.3 公钥密码142
6.4.4 密钥长度的平衡142
6.5 密码技术的组合142
6.6 本章小结143
6.7 小测验的答案144
第2部分 认证 145
第7章 单向散列函数——获取消息的“指纹”147
7.1 本章学习的内容148
7.2 什么是单向散列函数148
7.2.1 这个文件是不是真的呢148
7.2.2 什么是单向散列函数151
7.2.3 单向散列函数的性质153
7.2.4 关于术语156
7.3 单向散列函数的实际应用157
7.3.1 检测软件是否被篡改157
7.3.2 基于口令的加密159
7.3.3 消息认证码159
7.3.4 数字签名159
7.3.5 伪随机数生成器159
7.3.6 一次性口令159
7.4 单向散列函数的具体例子160
7.4.1 MD4、MD51
|
|