《密码学 C/C++语言实现 原书第2版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(德)威尔森巴赫等著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111517337
  • 页数:300 页
图书介绍:针对IT专业从业人员编写的密码书籍,讲述编写专家级的密码所需要掌握的知识和技术,安全并高效地实现密码学算法。新修订的第2版包括100多页的全新内容,同时对原有内容进行了修改和完善,使之涵盖密码学领域的最新技术进展。

第一部分 算术与数论:C实现 2

第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类 202

第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/O 230

第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章 自己动手测试LINT 263

第19章 更进一步的扩展方法 265

第三部分 附录 268

附录A C函数目录 268

附录B C++函数目录 275

附录C 宏 286

附录D 计算时间 290

附录E 符号 292

附录F 运算和数论软件包 293

参考文献 295