1、密码学教学大纲Cryptography课程编号:2180081学 时:48学 分:2.5授课学院:软件学院适用专业:软件工程教材(名称、主编或译者、出版社、出版时间):1 Wade Trappe, Lawrence C. Washington, Introduction to cryptography with coding theory, Prentice-Hall (科学出版社影印), 2002。2 Alfred J. Menezes, Paul C. van Oorschot,Scott A. Vanstone, Handbook of applied cryptography, CRC
2、 Press, 1997。主要参考资料:1 卢开澄,计算机密码学-计算机网络中的数据保密与安全,清华大学出版社,2003。2 Bruce Schneie 著,吴世忠,祝世雄,张文政等译,何德全审校,应用密码学-协议、算法与 C 源程序,机械工业出版社,2000。3 Steve Burnett, Stephen Pain 著,冯登国,周永彬,张振峰,李德全等译,密码工程实践指南,清华大学出版社,2001。4 Paul Garret 著,吴世忠,宋晓龙,郭涛等译,密码学导引,机械工业出版社,2003。5 Wenbo Mao 著, 王继林,伍前红等译,王育民,姜正涛审校,现代密码学理论与实践,电子工
3、业出版社,2004。一 课程的性质、目的及任务密码学是软件工程专业拓宽、提高性的专业选修课。大量的信息以数据形式存放在计算机系统中并通过公共信道传输。保护信息的安全已不仅仅是军事和政府部门感兴趣的问题,各企事业单位也愈感迫切。密码技术是信息安全中的关键技术,它的有效使用可以极大地提高网络的安全性。课程的目的在于为已经或即将完成计算机学位基础课程并计划从事信息安全工程实践或理论研究的学生提供基础指导。课程的任务是通过对现代密码学中的基本概念、基本理论、基础算法和协议的讲授,使学生对运用密码学的方法解决信息安全问题有基本认识,为从事信息安全系统设计、开发、管理提供基本技能。二教学基本要求通过本课程
4、的学习,学生应掌握现代密码学的基本原理和基本目标;掌握现代密码学中的主要方法和关键技术;初步掌握一些现代密码学中的高级课题。三教学内容课堂教学内容:第 1 章 绪论1 安全系统1.1 Shannon 保密系统1.1.1 通信参与方1.1.2 信道1.1.3 攻击者的目标1.2 可能的攻击1.3 Kerckhoffs 准则2 对称与公钥思想2.1 对称密钥机制2.2 分布系统的挑战:密钥产生与管理2.3 公开密钥机制2.4 密码学的演化3 密码学的目的4 现代密码学的基本概念与技术 4.1 单向函数/陷门单向函数4.2 加密4.2.1 基本术语4.2.2 加密方案4.2.3 对称加密4.2.4
5、公钥加密4.2.5 加密方案的攻击4.3 数字签名4.3.1 基本术语4.3.2 签名过程4.3.3 签名和认证函数必须满足的性质4.3.4 数字签名的争议解决(不可否认)4.3.5 数字签名与公钥加密的关系4.4 密钥管理4.4.1 基于对称密码技术4.4.2 基于公钥密码技术4.5 认证与鉴别4.5.1 鉴别4.5.2 数据源认证4.6 密码 Hash 函数4.6.1 修改发现码4.6.2 消息认证码4.6.3 密码 Hash 函数的简单分类4.7 随机数与随机序列4.8 高级密码协议5 安全评估模型5.1 无条件安全5.2 复杂理论安全5.3 可证安全5.4 计算安全5.5 自组织安全第
6、 2 章 数论与代数初步1 基本概念1.1 整除性1.2 素数1.3 最大公约数1.4 算术基本定理1.5 线性 Diophantine 方程2 同余2.1 同余的定义与基本性质2.2 剩余类和完全剩余系2.3 缩系2.4 一次同余2.5 中国剩余定理2.6 模素数的同余式3 二次剩余 3.1 二次剩余与二次非剩余3.2 模平方根4 原根4.1 整数的次数4.2 原根5 模 n 的逆矩阵6 群, 环, 域6.1 群6.2 环6.3 域第 3 章 DES 加密标准1 简化 DES 算法2 差分分析2.1 三轮差分分析2.2 四轮差分分析2.3 差分分析3 DES3.1 DES 算法描述3.2 初
7、始化计算3.3 f(Ri1, Ki)函数3.4 密钥变换3.5 DES 的安全4 DES 是一个群5 DES 的安全分析5.1 DES 已显年迈5.2 增强 DES 安全的变化形式6 口令安全6.1 口令方案6.2 攻击6.3 实例-UNIX 口令7 修改发现码7.1 攻击者对修改发现码的攻击目标7.2 实例-用 DES 构造修改发现码 MDC-2第 4 章 AES 加密标准1 关于有限域 GF(pn)1.1 建立有限域 GF(pn)1.2 除法1.3 有限域 GF(28)2 基本算法3 层3.1 字节变换3.2 移动行变换3.3 混合列变换3.4 轮密钥加3.5 轮密钥生成3.6 S-盒的建
8、立原理4 解密5 设计考虑6 执行考虑7 AES 的积极意义8 加密模式8.1 ECB 模式8.2 CBC 模式8.3 CFB 模式9 消息认证码9.1 攻击者对消息认证码的攻击目标9.2 伪造类型9.3 实例基于 CBC 的消息认证码第 5 章 RSA 算法与 Rabin 算法1 RSA 加密算法1.1 算法描述1.2 例子2 RSA 加密的实现2.1 素性测试2.2 模幂3 RSA 加密的安全3.1 秘密参数的关系3.2 关于分解问题3.2.1 指数分解方法3.2.2 Pollard p1 算法3.2.3 二次域筛法3.2.4 分解问题的进展3.3 小加密指数问题3.4 小解密指数问题3.
9、5 乘法性质3.6 共模攻击3.7 部分密钥暴露攻击 3.8 循环攻击3.9 消息暴露3.10 前项搜索攻击3.11 RSA-OAEP3.12 定时攻击4 实践中的 RSA 加密4.1 模的推荐大小4.2 素数的选择4.3 指数5 Rabin 加密算法5.1 算法描述6 Rabin 加密的实现 6.1 寻找平方根6.2 关于效率6.3 冗余问题7 Rabin 加密的安全8 公钥加密总结8.1 公钥加密的要求8.2 关于认证与不可否认问题8.3 陷门函数集第 6 章 离散对数1 离散对数问题2 计算离散对数2.1 穷举搜索2.2 小步大步算法2.3 Pollard Rho 算法2.4 Pohli
10、g-Hellman 算法2.5 指标积分算法3 ElGamal 公钥加密系统3.1 算法描述3.2 例子3.3 ElGamal 加密的效率3.4 ElGamal 加密的安全4 比特承诺4.1 应用背景4.2 比特承诺的要求4.3 计算模 4 的离散对数4.4 一个比特承诺方案第 7 章 数字签名1 RSA 签名算法1.1 算法描述1.2 例子1.3 RSA 签名的可能攻击1.3.1 整数分解1.3.2 RSA 的乘法性质1.4 RSA 签名的执行1.4.1 分块问题1.4.2 长消息与短消息问题1.4.3 签名的产生与认证性能1.4.4 参数选择1.4.5 系统参数2 ElGamal 族签名方
11、案2.1 数字签名算法 DSA 2.1.1 算法描述2.1.2 例子2.1.3 DSA 的安全与执行2.2 ElGamal 签名方案2.2.1 算法描述2.2.2 例子2.2.3 ElGamal 签名的安全2.2.4 ElGamal 签名的性能2.2.5 ElGamal 签名的变化形式2.3 Schnorr 签名方案2.3.1 算法描述2.3.2 例子2.3.3 性能2.4 消息恢复与消息附加方案3 生日攻击3.1 生日问题3.2 对签名方案的生日攻击3.3 对离散对数的生日攻击3.4 双重加密中间人攻击第 8 章 椭圆曲线1 Weierstrass 方程2 实数域上的椭圆曲线2.1 简化 Weierstrass 方程2.2 椭圆曲线