《密码学》课程教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《密码学》课程教学大纲
Cryprtography
课程代码:课程性质:专业方向理论课/必修
适用专业:信息安全开课学期:5
总学时数:56总学分数:3.5
编写年月:2006年6月修订年月:2007年7月
执笔:李锋
一、课程的性质和目的
本课程是信息与计算科学专业信息安全方向的主要专业方向课。其主要目的研究实现是让学生学习和了解密码学的一些基本概念,理解和掌握一些常用密码算法的加密和解密原理,认证理论的概念以及几种常见数字签名算法和安全性分析。本课程涉及分组加密、流加密、公钥加密、数字签名、哈希函数、密钥建立与管理、身份识别、认证理论与技术、PKI技术等内容。要求学生掌握密码学的基本概念、基本原理和基本方法。在牢固掌握密码学基本理论的基础上,初步具备使用C或C++语言编写基本密码算法(SHA-1、DES、A ES、RC5等)的能力,要求学生通过学习该课程初步掌握密码学的理论和实现技术,使当代大学生适应社会信息化的要求,能利用密码技术服务于社会。
二、课程教学内容及学时分配
第1章密码学概论(2学时)
要求深刻理解与熟练掌握的重点内容有:1.信息安全的基本概念,2. 密码学的基本概念,3.与密码学有关的难解数学问题。
要求一般理解与掌握的内容有:信息安全的基本内容、密码体制分类、密码学的发展历史。
重点:密码体制的分类。
难点:密码体制的攻击类型理解。
第2章古典密码体制(2学时)
本章主要了解1949年之前的古典密码体制,掌握不同类型的加密方式,并了解和认识无条件安全及古典密码的破译。
本章知识点:代换密码(分类和举例)、置换密码(列置换密码、周期置换密码)、古典密码的破译、无条件安全的一次一密体制。
要求学生能够使用C、C++编写Caesar 密码算法,练习最基本或最简单的加密模式。为进一步加强对加密算法的理解,课堂上演示实现的Caesar密码。
第3章现代分组密码(10学时)
要求掌握分组密码概述,主要使用的结构及模式,详细学习DES、IDEA、RC5、AES算法的流程,特别是如何实现这些算法,并了解每个算法的安全性及其效率。
本章知识点:分组密码概述、Feistel结构、分组密码的使用模式、数据加密标准DES、数
据加密算法IDEA、RC5、高级加密标准AES算法。
学习中,为加强学生的编程能力,课堂上先熟悉Visual C++6.0下编写算法的模式(头文件和实现文件的编写模式),并在该界面下演示所有的分组密码算法(如何加密和解密),同时对部分程序算法代码讲解(如何存储数据)。
难点:分组密码的使用模式理解和分组密码实现。
第4章流密码(4学时)
本章要求了解什么是流密码,与分组密码的异同,当前流密码的用途。掌握密钥流生成器的结构,基于LFSR的流密码模型,同时了解相关LFSR的数学基础。
本章知识点:流密码概述、二元加法流密码(密钥流的性质、密钥流生成器的结构、基于LFSR的流密码模型)、流密码算法介绍(A5算法、LFSR算法)。
难点:流密码的数学基础(部分数学基础超出学习范围)。
第5章公开密钥密码体制(10学时)
在数论、近世代数知识的基础上,学习公开密钥密码算法。要求在区分公开密码密码和分组密码的前提下,掌握不同的公开密钥密码体制(基于大整数、基于离散对数、基于椭圆曲线),并能够编写大整数的基本运算(加法、减法、乘法、除法及求模运算)。
本章知识点:公钥密码体制概述、基于大整数难分解的公钥密码体制(以RSA为代表)、基于离散对数的公钥密码体制(Diffie-Hellman密钥交换协议、ElGamal体制)、基于椭圆曲线的公钥密码体制(数学背景和密码系统)
说明:课堂上演示RSA系统,并对部分代码进行讲解。
难点:编写算法中,大整数的存储问题。
第6章密钥管理(2学时)
在学习了密码的安全性主要是基于密钥的安全性的基础上,要求理解和掌握密钥的组织结构和种类,密钥是怎样生成的(分析RSA和DES中用的密钥),了解密钥的分配和协商。
本章知识点:密钥的组织结构和种类、密钥生成、密钥分配和密钥协商、秘密共享和密钥托管。
重点:秘密共享方案。
第7章 Hash函数(4学时)
要求理解和掌握单向函数的基本概念,散列函数的设计与构造,学习MD5、SHA-1算法,并能够编写其中一个算法代码。
本章知识点:单向散列函数概念、MD5算法、安全散列算法SHA-1、消息鉴别码。
说明:区分MD5与SHA-1的异同,课堂演示算法的实现过程。
难点:如何实现算法。
第8章数字签名(6学时)
要求理解和掌握常规的手写签名与数字签名的不同,了解数字签名在不同资料上的定义,详细学习RSA 数字签名体制、ElGamal数字签名体制、数字签名标准DSS,分析每个算法的安
全性。要求学生在此基础上,能够讨论或独立构造基于不同难题的数字签名。
本章知识点:数字签名的基本概念、RSA 数字签名体制、ElGamal数字签名体制、数字签名标准DSS及其他各类数字签名模式。
说明:课堂演示数字签名软件,增加学生的认识和了解。
第9章身份识别(2学时)
本章主要要求学生掌握身份识别概念,理解强、弱的身份识别,了解身份识别协议及其安全性问题。
本章知识点:身份识别的概念、弱身份识别、强身份识别、身份识别协议及其安全问题。
重点:身份识别概念,各类身份识别。
难点:身份识别协议理解。
第10章认证理论与技术(2学时)
本章主要学习认证理论与技术,掌握认证模型和认证协议,了解Kerberos系统和X.509认证服务。
本章知识点:单向认证、双向认证、认证协议、Kerberos系统、X.509认证服务。
重点:认证模型和认证协议。
难点:Kerberos系统与X.509认证服务的理解。
第11章 PKI技术(2学时)
本章主要掌握PKI技术,认识PKI的功能和要求,了解相关协议和产品。
重点:PKI的组成和功能。
难点:PKI相关协议。
第12章密码应用软件(1学时)
本章主要学习和认识PGP,掌握IP安全性,了解电子商务安全技术。
本章知识点:安全邮件标准、邮件加密软件、IP安全性和电子商务技术。
重点:各种软件的使用。
第13章密码学新进展(1学时)
本章主要了解密码学的新进展。
本章知识点:量子密码学、环签名与指定验证人签名、基于身份的公钥体制与无证书公钥体制和DNA密码简介。
重点:新进展的理解。
三、课程教学的基本要求
本课程是信息与计算科学专业信息安全方向的专业课程,理论性较强,是本专业的理论课程。在教学方法上,采用课堂讲授,课后自学,课堂讨论、课下练习编程、课下操作实验等教学形式。
(一)课堂讲授
本课程属理论课程,涉及到较多的数学知识,在讲述的过程中教师应尽量联系生活实际,