《密码编码与信息安全 C++实践》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:王静文,吴晓艺编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302394112
  • 页数:343 页
图书介绍:本书主要介绍密码编码与信息安全的基本原理、实现方法与技巧,将密码编码与信息安全的理论知识与实践有效结合,并采用C++语言加以实现,主要内容包括古典密码学的原理与实现、对称密码学的原理与实现、公钥密码学的原理与实现以及数字签名的的原理和实现等内容。

第1章 概述 1

1.1 密码学简介 1

1.2 信息安全遇到的威胁 3

1.3 密码编码和信息安全提供的服务 4

1.4 习题 5

第1部分 古典密码 9

第2章 古典密码编码技术 9

2.1 单表代替密码 9

2.1.1 单表代替密码编码原理 9

2.1.2 单表代替密码算法实现 9

2.2 移位密码 12

2.2.1 移位密码算法原理 12

2.2.2 移位密码算法实现 12

2.3 乘数密码 13

2.3.1 乘数密码算法原理 13

2.3.2 扩展的欧几里得算法 14

2.3.3 乘数密码算法实现 17

2.3.4 扩展的欧几里得算法的实现 18

2.4 多表代替密码 19

2.4.1 维吉尼亚密码原理 20

2.4.2 维吉尼亚密码实现 21

2.4.3 希尔密码的原理 24

2.4.4 希尔密码的实现 26

2.5 习题与实践题 30

2.5.1 习题 30

2.5.2 实践题 31

第2部分 现代对称密码 35

第3章 S-DES算法 35

3.1 S-DES算法原理 35

3.2 S-DES密钥的生成 35

3.3 S-DES加密与解密过程 36

3.4 S-DES算法实现 39

3.5 Feistel密码结构 46

3.6 习题与实践题 47

3.6.1 习题 47

3.6.2 实践题 48

第4章 DES算法 49

4.1 DES算法原理 49

4.2 DES密钥生成 50

4.3 DES算法加密过程 51

4.4 DES算法实现 54

4.4.1 初始化数据 56

4.4.2 生成子密钥 59

4.4.3 加密和解密 61

4.5 DES算法的变种 65

4.5.1 三重DES算法 66

4.5.2 独立子密钥的DES算法 66

4.6 习题与实践题 66

4.6.1 习题 66

4.6.2 实践题 67

第5章 AES算法 68

5.1 置换-组合结构 68

5.2 AES算法原理 69

5.3 AES密钥生成 74

5.4 AES算法实现 77

5.4.1 数据初始化 79

5.4.2 轮密钥计算 83

5.4.3 AES加密过程的实现 86

5.4.4 AES解密过程的实现 90

5.5 习题与实践题 92

5.5.1 习题 92

5.5.2 实践题 92

第6章 IDEA算法 93

6.1 IDEA算法原理 93

6.1.1 IDEA算法的基本结构 93

6.1.2 IDEA算法的加密过程 93

6.1.3 子密钥的生成 95

6.2 IDEA算法实现 96

6.2.1 数据初始化 97

6.2.2 密钥生成 98

6.2.3 加密过程和解密过程的实现 101

6.2.4 程序测试 103

6.3 习题与实践题 104

6.3.1 习题 104

6.3.2 实践题 105

第7章 Blowfish算法 106

7.1 Blowfish算法原理 106

7.1.1 Blowfish算法的加解密过程 106

7.1.2 Blowfish算法的密钥生成 107

7.2 Blowfish算法实现 108

7.2.1 加密和解密的实现 109

7.2.2 数据初始化 111

7.2.3 程序测试 117

7.3 习题与实践题 118

7.3.1 习题 118

7.3.2 实践题 118

第8章 CAST-128算法 119

8.1 CAST-128算法原理 119

8.1.1 CAST-128算法的加密过程 119

8.1.2 CAST-128算法的子密钥生成 120

8.2 CAST-128算法实现 122

8.2.1 密钥生成 123

8.2.2 加密和解密 127

8.2.3 数据初始化和程序测试 130

8.3 习题与实践题 139

8.3.1 习题 139

8.3.2 实践题 139

第9章 分组密码模式 140

9.1 电子密码本模式 140

9.2 密码分组链接模式 141

9.3 明文密码分组链接模式 142

9.4 密码反馈模式 142

9.5 输出反馈模式 144

9.6 计数器模式 145

9.7 填充 146

9.8 习题与实践题 148

9.8.1 习题 148

9.8.2 实践题 148

第10章 A5算法 149

10.1 序列密码原理 149

10.1.1 基本原理 149

10.1.2 线性反馈移位寄存器 150

10.2 A5/1算法原理 152

10.3 A5/1算法实现 154

10.3.1 A5/1算法实现的基本结构 154

10.3.2 A5/1算法具体实现 156

10.3.3 测试 160

10.4 习题与实践题 161

10.4.1 习题 161

10.4.2 实践题 161

第11章 RC4算法 163

11.1 RC4算法原理 163

11.2 RC4算法实现 165

11.2.1 RC4算法实现的基本结构 165

11.2.2 初始化 166

11.2.3 加密和解密 168

11.2.4 RC4算法测试 169

11.3 习题与实践题 171

11.3.1 习题 171

11.3.2 实践题 171

第12章 RC5算法 172

12.1 RC5算法原理 172

12.1.1 RC5加密和解密的基本原理 172

12.1.2 RC5密钥生成 173

12.2 RC5算法实现 175

12.2.1 RC5算法实现的基本结构 175

12.2.2 密钥生成 176

12.2.3 加密和解密过程的实现 178

12.2.4 RC5算法测试 179

12.3 习题与实践题 180

12.3.1 习题 180

12.3.2 实践题 180

第13章 RC6算法 181

13.1 RC6算法原理 181

13.1.1 RC6算法的加密和解密 181

13.1.2 RC6算法的密钥生成 182

13.2 RC6算法实现 183

13.2.1 RC6算法实现的基本结构 183

13.2.2 密钥生成 185

13.2.3 加密和解密的实现 186

13.2.4 RC6算法测试 188

13.3 习题与实践题 190

13.3.1 习题 190

13.3.2 实践题 190

第3部分 公钥密码算法 193

第14章 RSA算法 193

14.1 基础知识 193

14.1.1 计算复杂性理论 193

14.1.2 中国剩余定理 194

14.1.3 Euler函数 195

14.1.4 Euler定理和Fermat小定理 195

14.1.5 模运算 196

14.2 素数与素性测试 197

14.2.1 Rabin-Miller素性检测法 198

14.2.2 Solovag-Strassen素性检测法 199

14.2.3 Lehmann素性检测法 201

14.2.4 AKS素性检测法 202

14.3 大数运算 203

14.3.1 大数运算的基本方法 203

14.3.2 基于32位进制的大数运算方法 203

14.4 RSA公钥密码算法原理 208

14.5 RSA公钥加密算法实现 209

14.5.1 大数运算的实现 209

14.5.2 素性检测的实现 230

14.5.3 RSA算法的实现 234

14.5.4 RSA加密算法测试 238

14.6 习题与实践题 239

14.6.1 习题 239

14.6.2 实践题 239

第15章 Diffie-Hellman密钥交换算法 243

15.1 Diffie-Hellman算法原理 243

15.1.1 Diffie-Hellman密钥交换算法基础 243

15.1.2 Diffie-Hellman密钥交换算法计算过程 244

15.2 Diffie-Hellman算法实现 246

15.2.1 生成素数p 248

15.2.2 本原根的生成 249

15.2.3 密钥生成 251

15.2.4 Diffie-Hellman算法测试 253

15.3 习题与实践题 254

15.3.1 习题 254

15.3.2 实践题 254

第16章 Elgamal加密算法 255

16.1 Elgamal加密算法原理 255

16.2 Elgamal加密算法实现 256

16.2.1 密钥的生成与解密的实现 256

16.2.2 加密的实现 262

16.2.3 算法测试 265

16.3 习题与实践题 267

16.3.1 习题 267

16.3.2 实践题 267

第4部分 散列函数 271

第17章 MD4算法与MD5算法 271

17.1 散列算法基础 271

17.1.1 散列算法的基本概念 271

17.1.2 散列算法的使用方法 273

17.2 MD4算法原理 275

17.3 MD4算法实现 278

17.3.1 MD4算法实现的基本结构 278

17.3.2 数据初始化 280

17.3.3 辅助函数的实现 281

17.3.4 哈希值计算过程的实现 284

17.3.5 测试与输出 287

17.4 MD5算法原理 289

17.5 MD5算法实现 291

17.5.1 MD5算法实现的基本结构 291

17.5.2 数据初始化 293

17.5.3 辅助函数的实现 293

17.5.4 哈希值计算过程的实现 295

17.5.5 测试与输出 297

17.6 习题与实践题 298

17.6.1 习题 298

17.6.2 实践题 298

第18章 SHA-1算法 299

18.1 SHA-1算法原理 299

18.2 SHA-1算法实现 302

18.2.1 SHA-1算法实现的基本结构 302

18.2.2 数据初始化 303

18.2.3 哈希值计算过程的实现 305

18.2.4 测试与输出 309

18.3 习题与实践题 310

18.3.1 习题 310

18.3.2 实践题 310

第19章 RIPEMD-160算法 311

19.1 RIPEMD-160算法原理 311

19.2 RIPEMD-160算法实现 314

19.2.1 RIPEMD-160算法实现的基本结构 314

19.2.2 数据初始化 316

19.2.3 辅助函数的实现 317

19.2.4 哈希值计算过程的实现 320

19.2.5 测试与输出 325

19.3 习题与实践题 327

19.3.1 习题 327

19.3.2 实践题 327

第5部分 数字签名 331

第20章 数字签名 331

20.1 数字签名概述 331

20.2 RSA数字签名方案 332

20.3 Elgamal数字签名方案 333

20.4 DSA数字签名方案 335

20.5 盲签名 337

20.5.1 盲签名基本原理 337

20.5.2 RSA盲签名 338

20.6 习题与实践题 338

20.6.1 习题 338

20.6.2 实践题 339

参考文献 340