基础的密码算法、基本的应用技术和必要的数学基础知识。密码算法部分包括:对称分组密码算法、非对称密码算法、散列算法和数字签名算法;基本应用技术包括:密钥管理的基本技术、基本认证技术和在防伪识别中的简单应用技术;数学基础知识部分包括:初等数论、代数学基础、有限域和椭圆曲线基础、计算复杂性理论基础。
《应用密码学基础》不同于其他密码学教材之处有二:一是包含了较多的密钥管理和认证技术,二是包含了密码学在自动识别中的保密和防伪应用。《应用密码学基础》可供自动识别技术专业的专科生、本科生作为密码学的教材使用,也可供计算机专业的专科生和本科生作为了解密码学的参考资料。
本书是在中国自动识别技术协会的组织下,为适应自动识别技术专业的教学需要编写的密码学基础教材。本书简要介绍了密码学基础理论和基本技术,内容分为三个部分:基础的密码算法、基本的应用技术和必要的数学基础知识。本书可供自动识别技术专业的专科生、本科生作为密码学的教材使用,也可供计算机专业的专科生和本科生作为了解密码学的参考资料。
第1章 概论
1.1 什么是密码学
1.1.1 密码体制与密码系统
1.1.2 密码系统的安全性
1.1.3 密码学的概念
1.2 传统密码学概述
1.2.1 古老的密码术
1.2.2 由手工到机械的近代密码
1.3 现代密码学概述
1.3.1 现代密码学的兴起
1.3.2 现代密码学的若干基本概念
1.3.3 现代密码学的飞速发展
1.3.4 现代密码学的特点
1.4 本书的内容与组织
1.5 注记
习题
第2章 对称分组算法
2.1 分组密码简介
2.1.1 分组密码的概念
2.1.2 关于分组密码的安全性
2.1.3 分组密码的设计原则
2.1.4 分组密码的一般结构
2.2 DES算法和3-DES算法
2.2.1 DES概述
2.2.2 DES的算法结构
2.2.3 DES中的变换
2.2.4 DES的子密钥生成
2.2.5 DES的安全性
2.2.6 3.DES算法及其安全性
2.3 AES算法
2.3.1 AES概述
2.3.2 AES中的基本运算
2.3.3 AEs中的基本变换
2.3.4 AES的子密钥生成
2.3.5 AES的算法结构
2.3.6 AES的性能
2.4 分组密码的操作模式
2.5 注记
习题二
第3章 非对称算法
3.1 非对称算法概述
3.2 RSA算法
3.2.1 RSA加解密算法
3.2.2 RSA中的模幂运算
3.2.3 RSA的安全性
3.3 ElGamal算法
3.3.1 ElGamal加解密算法
3.3.2 ElGamal的安全性
3.4 ECC算法
3.4.1 椭圆曲线密码概述
3.4.2 有限域上的椭圆曲线密码体制
3.4.3 Menezes-Vanstones椭圆曲线密码体制
3.4.4 椭圆曲线密码的安全性
3.5 基于身份的公钥体制
3.5.1 双线性映射
3.5.2 IBC简介
3.6 注记
习题三
第4章 散列算法
4.1 单向Hash函数
4.1.1 单向Hash函数的产生背景
4.1.2 Hash函数的概念
4.1.3 Hash函数的迭代结构
4.1.4 对Hash函数的攻击
4.1.5 安全单向Hash函数的设计
4.2 MD5算法
4.2.1 MD5算法描述
4.2.2 MD5的安全性
4.3 安全Hash算法
4.3.1 SHA-1算法描述
4.3.2 SHA-1的安全性
4.4 注记
习题四
第5章 数字签名
5.1 数字签名简介
5.1.1 数字签名的产生背景
5.1.2 数字签名的概念
5.1.3 数字签名的安全性
5.2 普通数字签名方案
5.2.1 RSA数字签名方案
5.2.2 EIGamal数字签名方案
5.2.3 Schnorr数字签各方案
5.2.4 数字签名标准DSS
5.2.5 基于椭圆曲线的数字签名方案*
5.3 盲签名
5.3.1 盲签名简介
5.3.2 基于RSA的盲签名方案
5.3.3 基于离散对数的盲签名方案
5.3.4 盲签名方案的应用
5.4 注记
习题五
第6章 密钥管理的基本技术
6.1 密钥管理的概念和原则
6.1.1 密钥管理的概念
6.1.2 密钥管理的原则和手段
6.2 密钥管理的基本要求
6.2.1 密钥的生成与分发
6.2.2 密钥的存储与备份
6.2.3 密钥的使用和更新
6.2.4 密钥的销毁和归档
6.3 随机数与伪随机数生成
6.3.1 随机数生成
6.3.2 伪随机数生成器的概念
6.3.3 标准化的伪随机数生成器
6.3.4 密码学上安全的伪随机比特生成器
6.4 注记
习题六
第7章 非对称密钥的管理
7.1 非对称密钥管理的特点
7.2 素数生成
7.2.1 素数生成简介
7.2.2 概率素性测试与真素性测试
7.2.3 强素数生成
7.3 公钥参数的生成
7.3.1 RSA公钥参数的生成
7.3.2 E1Gamal公钥参数的生成
7.4 公钥基础设施PKI简介
7.4.1 PKI的体系结构
……
第8章 对称密钥的管理
8.1 对称密钥的种类与管理结构
8.2 基于KDC和KTC的会话密钥建立
8.3 基于公钥的会话密钥建立
8.4 密钥协商
8.5 注记
习题八
第9章 认证技术
9.1 几种不同的认证
9.2 完整性认证
9.3 对称环境中的身份认证
9.4 非对称环境中的身份认证
9.5 基于零知识证明的身份认证
9.6 注记
习题九
第10章 密码学在防伪识别中的应用
10.1 二维条码的防伪技术
10.2 基于RFID的自动识别技术
10.3 注记
习题十
第11章 数论基础
11.1 整数的因子分解
11.2 同余与同余式
11.3 二次同余式与平方剩余
11.4 注记
习题十一
第12章 代数学基础
12.1 群
12.2 环
12.3 域和域上的一元多项式
12.4 注记
习题十二
第13章 有限域与椭圆曲线基础
13.1 有限域基础
13.2 有限域上的椭圆曲线简介
13.3 注记
习题十三
第14章 计算复杂性理论的若干基本概念
14.1 算法与计算复杂性
14.2 NP完全性理论简介
14.3 注记
习题十四
参考文献
一个密钥只加密一个明文(称为一次一密),且所有密钥都是等概率的。
这里,p、c、K分别表示明文空间、密文空间和密钥空间。
当然,完善保密只是理论上的安全性,实际上很难实现。而即使是理论上安全的密码系统,实际上也可能很脆弱,因为实际应用中还要求密钥能够安全传递。比如“一次一密”系统,就要求在收发双方间传递大量密钥,增加了密钥管理的难度,甚至会使密钥管理系统变得十分脆弱,从而使整个密码系统不安全。因此,密码系统不能单纯地追求理论上的安全。
由于实际的密码分析者所拥有的资源(资金、设备、时间等)总是有限的,因此人们更关心的是,如何构造一个超过敌手实际攻击能力的密码系统。如果一个密码系统虽然不是完善保密的,但攻击该系统所要付出的努力远远超过攻击者实际拥有的能力,则称该密码系统是实际安全的。可是,如何评估攻击者的能力呢?由于破译密码本质上是计算,因此,目前普遍的做法是用计算能力来衡量。而计算能力取决于两个主要方面:一个是拥有的计算资源,一个是算法的有效性。对密码系统来说,如果在充分估计攻击者的计算能力的前提下,破译它所需要的计算量仍远远超出了攻击者所能付出的计算量,就认为它是实际安全的。实际安全性也称为计算安全性。
1.1.3 密码学的概念
早期的密码学分为密码编码学和密码分析学两大分支。密码编码学研究如何保护消息的机密性,主要内容是各种加、解密算法;而密码分析学则研究在不知道密钥的前提下如何破译密文,主要内容是各种分析方法。不过古代的密码还不能称为密码学,只能称为密码术。密码真正成为一个学科,还是近代的事。