本书主要介绍了密码编码学与信息安全的常用算法所涉及的理论,并介绍了使用C++语言实现这些算法的基本过程与具体实现。本书涵盖了古典密码、对称密钥算法、公钥算法、散列函数和数字签名等几部分内容,并在每章最后附有一定量的习题与实践题供读者练习。 本书可以作为信息安全、信息与计算科学、计算机科学技术、通信工程等专业的本科生教材,也可以为从事信息安全、通信、电子工程等领域的技术人员提供参考。
第1章 概述
1.1 密码学简介
1.2 信息安全遇到的威胁
1.3 密码编码和信息安全提供的服务
1.4 习题
第1部分 古典密码
第2章 古典密码编码技术
2.1 单表代替密码
2.1.1 单表代替密码编码原理
2.1.2 单表代替密码算法实现
2.2 移位密码
2.2.1 移位密码算法原理
2.2.2 移位密码算法实现
2.3 乘数密码
2.3.1 乘数密码算法原理
2.3.2 扩展的欧几里得算法
2.3.3 乘数密码算法实现
2.3.4 扩展的欧几里得算法的实现
2.4 多表代替密码
2.4.1 维吉尼亚密码原理
2.4.2 维吉尼亚密码实现
2.4.3 希尔密码的原理
2.4.4 希尔密码的实现
2.5 习题与实践题
2.5.1 习题
2.5.2 实践题
第2部分 现代对称密码
第3章 S.DES算法
3.1 S-DES算法原理
3.2 S-DES密钥的生成
3.3 S-DES加密与解密过程
3.4 S-DES算法实现
3.5 Feistel密码结构
3.6 习题与实践题
3.6.1 习题
3.6.2 实践题
第4章 DES算法
4.1 DES算法原理
4.2 DES密钥生成
4.3 DES算法加密过程
4.4 DES算法实现
4.4.1 初始化数据
4.4.2 生成子密钥
4.4.3 加密和解密
4.5 DES算法的变种
4.5.1 三重DES算法
4.5.2 独立子密钥的DES算法
4.6 习题与实践题
4.6.1 习题
4.6.2 实践题
第5章 AES算法
5.1 置换一组合结构
5.2 AES算法原理
5.3 AES密钥生成
5.4 AES算法实现
5.4.1 数据初始化
5.4.2 轮密钥计算
5.4.3 AES加密过程的实现
5.4.4 AES解密过程的实现
5.5 习题与实践题
5.5.1 习题
……
第6章 IDEA算法
第7章 Blowfish算法
第8章 CAST-128算法
第9章 分组密码模式
第10章 A5算法
第11章 RC4算法
第12章 RC5算法
第13章 RC6算法
第3部分 公钥密码算法
第14章 RSA算法
第15章 Diffie-Hellman密钥交换算法
第16章 Elgamal加密算法
第4部分 散列函数
第17章 MD4算法与MD5算法
第18章 SHA-1算法
第19章 RIPEMD一160算法
第5部分 数字签名
第20章 数字签名
参考文献