《密码学》课程教学大纲 联系客服

发布时间 : 星期三 文章《密码学》课程教学大纲更新完毕开始阅读9ca45696227916888586d708

《密码学》课程教学大纲

Cryprtography

课程代码: 适用专业:总学时数:56

编写年月:2006年6月 执 笔:李锋

课程性质:专业方向理论课/必修 开课学期:5 总学分数:3.5

修订年月:2007年7月

一、课程的性质和目的

本课程是信息与计算科学专业信息安全方向的主要专业方向课。其主要目的研究实现是让学生学习和了解密码学的一些基本概念,理解和掌握一些常用密码算法的加密和解密原理,认证理论的概念以及几种常见数字签名算法和安全性分析。本课程涉及分组加密、流加密、公钥加密、数字签名、哈希函数、密钥建立与管理、身份识别、认证理论与技术、PKI技术等内容。要求学生掌握密码学的基本概念、基本原理和基本方法。在牢固掌握密码学基本理论的基础上,初步具备使用C或C++语言编写基本密码算法(SHA-1、DES、AES、RC5等)的能力,要求学生通过学习该课程初步掌握密码学的理论和实现技术,使当代大学生适应社会信息化的要求,能利用密码技术服务于社会。

二、课程教学内容及学时分配

第1章 密码学概论(2学时)

要求深刻理解与熟练掌握的重点内容有:1.信息安全的基本概念,2. 密码学的基本概念,3.与密码学有关的难解数学问题。

要求一般理解与掌握的内容有:信息安全的基本内容、密码体制分类、密码学的发展历史。 重点:密码体制的分类。

难点:密码体制的攻击类型理解。 第2章 古典密码体制(2学时)

本章主要了解1949年之前的古典密码体制,掌握不同类型的加密方式,并了解和认识无条件安全及古典密码的破译。

本章知识点:代换密码(分类和举例)、置换密码(列置换密码、周期置换密码)、古典密码的破译、无条件安全的一次一密体制。

要求学生能够使用C、C++编写Caesar 密码算法,练习最基本或最简单的加密模式。为进一步加强对加密算法的理解,课堂上演示实现的Caesar密码。

第3章 现代分组密码(10学时)

要求掌握分组密码概述,主要使用的结构及模式,详细学习DES、IDEA、RC5、AES算法的流程,特别是如何实现这些算法,并了解每个算法的安全性及其效率。

本章知识点:分组密码概述、Feistel结构、分组密码的使用模式、数据加密标准DES、数

1

据加密算法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,分析每个算法的安

2

全性。要求学生在此基础上,能够讨论或独立构造基于不同难题的数字签名。

本章知识点:数字签名的基本概念、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密码简介。

重点:新进展的理解。

三、课程教学的基本要求

本课程是信息与计算科学专业信息安全方向的专业课程,理论性较强,是本专业的理论课程。在教学方法上,采用课堂讲授,课后自学,课堂讨论、课下练习编程、课下操作实验等教学形

式。

(一)课堂讲授

本课程属理论课程,涉及到较多的数学知识,在讲述的过程中教师应尽量联系生活实际,

3

加深学生对密码算法的认识。在教学中要求同学重点掌握密码学的基本概念、算法的编程和密码技术的应用,要着重培养学生编写算法的能力,在课程内容方面既要保持理论的系统性,又要注意联系实际应用,并且重视技术科学的一般方法学的培养。

(二)课后自学

为了培养学生整理归纳,综合分析和处理问题的能力,每章都安排一部分内容,课上教师只给出自学提纲,不作详细讲解,课后学生自学(数学部分、加密方法的C与C++实现部分)。

(三)课堂讨论

课堂讨论的目的是活跃学习气氛,开拓思路。教师应认真组织,安排重点发言,充分调动

每一名同学的学习积极性,做好总结。

(四)习题课

习题课以典型例题分析为主,并适当安排开阔思路及综合性的练习及讨论。共2学时(已包括在前述学时分配中)。

(五)课外作业

课外作业的内容选择基于对基本理论的理解和巩固,培养密码算法的验证和简单的加、解计算能力。利用所学的密码知识,分析实际问题的解决能力,习题以计算性小题为主,平均每学时1-

(六)平时测验

为及时了解教学情况,教师可适当安排期中测验,要求使用1或2个学时,让学生理解如何学习密码学理论部分。

(七)实验

本课程安排8学时的实验,参照《信息安全实验指导》,根据实验指导课下完成实验,通过实验要求解决和分析具体安全问题为目的,帮助学生全方位的建立起网络安全系统整体架构的认识。

(八)考试

考试可采用闭卷与开卷相结合的形式,以闭卷为主。闭卷部分的试题包括基本概念,基本理论,分析实际安全问题,题型可采用填空,计算,简答等方式。开卷部分的考试采用对学生平时编写算法的测试

总评成绩:学生上课出勤,平时作业,编写算法代码共占30%;期末闭卷考试占70%。

四、本课程与其它课程的联系与分工

设计等。

先修课程:数论、抽象代数、离散数学、算法设计与分析、计算复杂性理论、C语言程序

后续课程:网络与信息安全、信息安全新技术讲座等

五、建议教材与教学参考书

[1]张福泰等,《密码学教程》武汉大学出版社,2006年9月; [2]宋震 等编著,《密码学》.中国水利水电出版社,2002年7月;

4

[3]Michael Welschenbach编著,赵振江,连国卿等译,《编码密码学——加密方法的C与C++实现》,电子工业出版社,2003年6月;

[4] 钟诚,赵跃华,杨铭熙,叶震,陆向艳,宋建华编,《信息安全概论》.武汉理工大学出版社,2003年6月;

[5] 冯登国,裴定一编,《密码学导引》,科学出版社,北京,1999年; [6] 卢开澄主编,《计算机密码学》(第2版),清华大学出版社,1998年7月。

此外,还可以参考信息安全技术与教材系列丛书,武汉大学出版社,2004年10 年,包括《密码学引论》、《网络多媒体信息安全保密技术》、《信息隐藏技术与应用》、《信息安全法教程》、《计算机病毒分析与对抗》、《网络安全》、《信息安全数学基础》、《网络程序设计》等。

5