密码学:C/C++语言实现(原书第2版) / 计算机科学丛书
定价:¥69.00
作者: [德]迈克尔·威尔森巴赫著;杜瑞颖,何琨,周顺淦译
译者:杜瑞颖、何琨等 译;
出版时间:2015-10-21
出版社:机械工业出版社
- 机械工业出版社
- 9787111517337
- 1-6
- 47229871-0
- 16开
- 2015-10-21
- 435
- 计算机通信类
- 本科
内容简介
针对IT专业从业人员编写的密码书籍,讲述编写专家级的密码所需要掌握的知识和技术,安全并高效地实现密码学算法。新修订的第2版包括100多页的全新内容,同时对原有内容进行了修改和完善,使之涵盖密码学领域的最新技术进展。
目录
出版者的话
译者序
序
英文第2版前言
英文第1版前言
德文第1版前言
第一部分 算术与数论:C实现
第1章 绪论2
第2章 数的格式:C中大数的表示7
第3章 接口语义10
第4章 基本运算12
4.1 加法和减法12
4.2 乘法19
4.2.1 小学乘法方法20
4.2.2 更快的平方运算24
4.2.3 Karatsuba能否做得更好27
4.3 带余除法30
第5章 模算术:剩余类计算40
第6章 百川归海:模幂运算48
6.1 第一种方法48
6.2 M进制取幂52
6.3 加法链及窗口61
6.4 Montgomery约简和取幂64
6.5 取幂运算的密码学应用72
第7章 位运算与逻辑函数77
7.1 移位运算77
7.2 有或无:位关系81
7.3 对单个二进制数字的直接访问85
7.4 比较运算符87
第8章 输入、输出、赋值和转换91
第9章 动态寄存器98
第10章 基本数论函数104
10.1 最大公约数104
10.2 剩余类环中的乘法逆109
10.3 根与对数114
10.4 剩余类环中的平方根120
10.4.1 Jacobi符号120
10.4.2 模pk的平方根125
10.4.3 模n的平方根128
10.4.4 基于二次剩余的密码学133
10.5 素性检验135
第11章 Rijndael:数据加密标准的后继者151
11.1 多项式运算152
11.2 Rijndael算法155
11.3 计算轮密钥157
11.4 S盒158
11.5 行移位变换160
11.6 列混合变换160
11.7 轮密钥加161
11.8 一个完整的加密过程161
11.9 解密164
11.10 性能166
11.11 运行模式166
第12章 大随机数167
12.1 一个简单的随机数生成器169
12.2 密码学的随机数生成器171
12.2.1 初始值的生成172
12.2.2 BBS随机数生成器175
12.2.3 AES生成器178
12.2.4 RMDSHA-1生成器181
12.3 质量测试183
12.3.1 卡方检验183
12.3.2 单位检验184
12.3.3 扑克检验184
12.3.4 游程检验184
12.3.5 长游程检验185
12.3.6 自相关检验185
12.3.7 FLINT/CLINT随机数生成器的质量185
12.4 更复杂的函数186
第13章 测试LINT的策略194
13.1 静态分析195
13.2 运行时测试196
第二部分 算术:C++实现与LINT类
第14章 用C++精简生活202
14.1 非公共事务:LINT中数的表示205
14.2 构造函数206
14.3 重载运算符208
第15章 LINT公共接口:成员函数和友元函数213
15.1 算术213
15.2 数论219
15.3 LINT对象的I/O流222
15.3.1 LINT对象的格式化输出223
15.3.2 操纵器228
15.3.3 LINT对象的文件I/O230
第16章 错误处理233
16.1 杜绝慌乱233
16.2 用户定义的错误处理234
16.3 LINT异常235
第17章 一个应用实例:RSA密码体制239
17.1 非对称密码体制239
17.2 RSA算法240
17.3 RSA数字签名250
17.4 C++的RSA类255
第18章 自己动手测试LINT263
第19章 更进一步的扩展方法265
第三部分 附录
附录A C函数目录268
附录B C++函数目录275
附录C 宏286
附录D 计算时间290
附录E 符号292
附录F 运算和数论软件包293
参考文献295
译者序
序
英文第2版前言
英文第1版前言
德文第1版前言
第一部分 算术与数论:C实现
第1章 绪论2
第2章 数的格式:C中大数的表示7
第3章 接口语义10
第4章 基本运算12
4.1 加法和减法12
4.2 乘法19
4.2.1 小学乘法方法20
4.2.2 更快的平方运算24
4.2.3 Karatsuba能否做得更好27
4.3 带余除法30
第5章 模算术:剩余类计算40
第6章 百川归海:模幂运算48
6.1 第一种方法48
6.2 M进制取幂52
6.3 加法链及窗口61
6.4 Montgomery约简和取幂64
6.5 取幂运算的密码学应用72
第7章 位运算与逻辑函数77
7.1 移位运算77
7.2 有或无:位关系81
7.3 对单个二进制数字的直接访问85
7.4 比较运算符87
第8章 输入、输出、赋值和转换91
第9章 动态寄存器98
第10章 基本数论函数104
10.1 最大公约数104
10.2 剩余类环中的乘法逆109
10.3 根与对数114
10.4 剩余类环中的平方根120
10.4.1 Jacobi符号120
10.4.2 模pk的平方根125
10.4.3 模n的平方根128
10.4.4 基于二次剩余的密码学133
10.5 素性检验135
第11章 Rijndael:数据加密标准的后继者151
11.1 多项式运算152
11.2 Rijndael算法155
11.3 计算轮密钥157
11.4 S盒158
11.5 行移位变换160
11.6 列混合变换160
11.7 轮密钥加161
11.8 一个完整的加密过程161
11.9 解密164
11.10 性能166
11.11 运行模式166
第12章 大随机数167
12.1 一个简单的随机数生成器169
12.2 密码学的随机数生成器171
12.2.1 初始值的生成172
12.2.2 BBS随机数生成器175
12.2.3 AES生成器178
12.2.4 RMDSHA-1生成器181
12.3 质量测试183
12.3.1 卡方检验183
12.3.2 单位检验184
12.3.3 扑克检验184
12.3.4 游程检验184
12.3.5 长游程检验185
12.3.6 自相关检验185
12.3.7 FLINT/CLINT随机数生成器的质量185
12.4 更复杂的函数186
第13章 测试LINT的策略194
13.1 静态分析195
13.2 运行时测试196
第二部分 算术:C++实现与LINT类
第14章 用C++精简生活202
14.1 非公共事务:LINT中数的表示205
14.2 构造函数206
14.3 重载运算符208
第15章 LINT公共接口:成员函数和友元函数213
15.1 算术213
15.2 数论219
15.3 LINT对象的I/O流222
15.3.1 LINT对象的格式化输出223
15.3.2 操纵器228
15.3.3 LINT对象的文件I/O230
第16章 错误处理233
16.1 杜绝慌乱233
16.2 用户定义的错误处理234
16.3 LINT异常235
第17章 一个应用实例:RSA密码体制239
17.1 非对称密码体制239
17.2 RSA算法240
17.3 RSA数字签名250
17.4 C++的RSA类255
第18章 自己动手测试LINT263
第19章 更进一步的扩展方法265
第三部分 附录
附录A C函数目录268
附录B C++函数目录275
附录C 宏286
附录D 计算时间290
附录E 符号292
附录F 运算和数论软件包293
参考文献295







