本书全面地讲述了计算机密码学的基本内容、现代密码学的基础理论及一些重要的密码协议。全书共分11章,第1章简要讲述密码学的基本概念,第2章讲述了分组密码的基本概念,数据加密标准DES,分组密码设计原理及分组密码操作方式,第3章至第6章讲述了学习密码学必备的数学知识,第4章讲述了高级加密标准AES和其它分组密码算法,第5章讲述了序列密码的基本概念和反馈移位寄存器与m序列,第7章和第8章讲述了公钥密码,第9章讲述了消息认证码、散列函数及算法。第10章讲述了数字签名、签名方案和认证协议。第11章讲述安全协议与标准,本书力求严谨,繁简得当,与同类教材相比具有自己的特色。
本书内容涉及计算机密码学中的基础理论和应用协议,包括密码学的基本概念、分组密码原理及算法、序列密码、公钥密码及算法、数字签名及认证、安全协议、公钥基础设施,还讲述了必备的数学知识,各章后面附有一定数量的习题。
本书可供高等院校信息安全、计算机、通信等专业使用,也可供信息安全领域的技术人员参考。
前言
第1章 密码学及传统加密技术
1.1 密码学的起源和发展
1.2 对称密码的模型
1.3 古典密码
1.3.1 凯撒密码
1.3.2 单表代换密码
1.3.3 Playfair密码
1.3.4 Hill密码
1.3.5 多表代换密码
1.3.6 置换密码
习题
第2章 分组密码与数据加密标准DES
2.1 分组密码的基本概念
2.2 数据加密标准DES
2.2.1 DES的历史
2.2.2 DES算法细节
2.2.3 DES算法的可逆性证明
2.2.4 DES的安全性
2.2.5 DES在设计上的优点
2.3 Feistel结构——分组密码重要的设计原理
2.3.1 模型及参数选择
2.3.2 S盒的设计
2.4 分组密码的操作方式
2.4.1 电子密码本
2.4.2 密码分组链接
2.4.3 密码反馈
2.4.4 输出反馈
习题
第3章 近世代数基础
3.1 群、环、域的基本概念
3.1.1 群
3.1.2 环和域
3.2 模运算
3.3 欧几里得算法
3.3.1 计算两个数的最大公因数
3.3.2 乘法逆元的计算
3.4 有限域GF(p)上的多项式
习题
第4章 AES及其它分组密码算法
4.1 高级加密标准AES
4.1.1 背景及算法概述
4.1.2 算法细节
4.1.3 性能分析
4.2 三重DES及其它分组密码算法
4.2.1 三重DES
4.2.2 IDEA
4.2.3 Twofish简介
4.2.4 RC5与RC6
习 题
第5章 序列密码
5.1 序列的随机性
5.1.1 随机性的含义
5.1.2 伪随机数发生器
5.2 序列密码的基本概念
5.3 线性反馈移位寄存器与m序列
5.3.1 线性反馈移位寄存器(LFSR)
5.3.2 移位寄存器的周期及m序列
5.3.3 B-M算法与序列的线性复杂度
习题
第6章 数论基础
6.1 素数与互素
6.2 费马定理和欧拉定理
6.2.1 费马定理
6.2.2 欧拉定理
6.3 中国剩余定理
6.4 素数的检测
习题
第7章 公钥密码原理及RSA算法
7.1 公钥密码的原理
7.1.1 公钥密码的基本思想
7.1.2 公钥密码中常用的难解问题
7.1.3 背包密码
7.1.4 Diffie-Hellman密钥交换协议
7.2 RSA密码
7.2.1 算法的构造
7.2.2 RSA的实现及应用
7.2.3 RSA的安全性
7.2.4 RSA的参数选择
习题
第8章 椭圆曲线及其它公钥密码体制
8.1 椭圆曲线密码
8.1.1 椭圆曲线
8.1.2 椭圆曲线公钥密码体制
8.2 其它公钥密码算法
8.2.1 ElGamal密码
8.2.2 Rabin密码
8.3 其它公钥密码体制
习题
第9章 消息认证和散列函数
9.1 消息认证码
9.1.1 消息认证
9.1.2 消息认证码(MAC)
9.1.3 MAC算法
9.2 散列函数的基本概念
9.2.1 散列函数概述
9.3 MD5算法
9.3.1 MD5简介
9.3.2 MD5的安全性
9.3.3 算法的应用
9.4 安全散列算法SHA-1
9.4.1 SHA简介
9.4.2 SHA-1描述
9.4.3 SHA-1举例
9.5 其它散列函数
9.5.1 MD4
9.5.2 其它散列函数简介
9.6 基于散列函数的HMAC
9.6.1 HMAC简介
9.6.2 HMAC的定义
9.6.3 安全性
习题
第10章 数字签名与认证协议
10.1 数字签名概述
10.1.1 数字签名简介
10.1.2 数字签名的原理
10.1.3 RSA签名体制
10.2 数字签名标准DSA
10.2.1 ElGamal签名
10.2.2 数字签名算法DSA
10.3 椭圆曲线数字签名算法ECDSA
10.3.1 ECDSA简介
10.3.2 ECDSA算法描述
10.3.3 ECDSA中的阈下信道
10.3.4 ECDSA算法的变形
10.4 盲签名
10.4.1 盲签名的原理
10.4.2 盲签名算法
10.4.3 盲签名的主要应用——匿名电子投票
10.5 代理签名
10.5.1 代理签名的概念
10.5.2 代理签名的分类
10.5.3 M-U-O代理签名方案
10.6 Kerberos认证协议
10.6.1 Kerberos简介
10.6.2 Kerberos概况
10.6.3 Kerberos的工作过程
10.6.4 Kerberos的跨域认证操作
10.6.5 Kerberos的局限
习题
第11章 密码协议的应用
11.1 安全套接层SSL
11.1.1 SSL简介
11.1.2 SSL协议概况
11.1.3 记录层协议
11.1.4 改变密码说明协议
11.1.5 报警协议
11.1.6 握手协议
11.2 安全电子交易协议SET
11.2.1 SET简介
11.2.2 SET协议中的参与者
11.2.3 SET中的证书
11.2.4 分层信任模型
11.2.5 SET支持的消费类型
11.2.6 SET的软件系统
11.3 IPSec
11.3.1 IPSec简介
11.3.2 IPSec的协议组成
11.3.3 IPSec的工作模式
11.3.4 封装安全载荷ESP
11.3.5 认证头 AH
11.4 公钥基础设施PKI
11.4.1 概述
11.4.2 PKI技术的信任服务及意义
11.4.3 PKI的体系结构
11.4.4 PKI的应用与发展
习题
参考文献