应用密码学课程教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《应用密码学》课程教学大纲
一、课程代码与名称
课程代码:EI439001
中文名称:应用密码学
英文名称:Applied Cryptography
二、课程概述及与相关课程关系
随着通信网络及安全技术的发展,网络与信息的安全性等受到了人们的广泛关注。密码技术作为信息安全的核心技术,为信息的保密性、完整性、可用性和可靠性等提供了实现的一种手段,在电子商务/电子政务、网络通信等方面的受到了高度重视。
密码学是计算机、通信、应用数学、软件工程等专业的交叉学科,本课程主要学习古典密码体制、对称密码体制、非对称密码体制、序列密码体制、消息摘要算法等基础密码理论及典型算法,以及它们在密钥管理、密码协议、数字签名、身份认证、电子商务、数字通信和工业网络控制等方面的应用。
图1应用密码学与其它课程关系图
《应用密码学》课程与其他课程的关系如图1所示。其中,《工程导论》、《面向对象程序设计》、《数据结构》和《信息安全数学基础》是《应用密码学》课程的前期课程,而具备《微积分Ⅰ》、《微积分Ⅱ》、《线性代数与空间解析几何》、《离散数
学》、《概率论与数理统计》的知识,对于密码学算法的编程实现和理解是有帮助的。
通过本课程的学习,为进一步学习后续专业课程(如《信息安全理论与技术》、《信息对抗理论与技术》、《网络攻击与防御》、《灾难备份技术》、《信息隐藏与数字水印》、《系统加密与解密》和《安全系统整体解决方案设计》等课程)及在从事网
络信息安全应用系统的设计与开发等实际工作奠定理论基础。
三、课程教学对象与教学目的
适用专业:信息安全、信息对抗技术
教学目的:
(1)通过本课程的学习,学生能够掌握密码学的基本概念、古典密码体制、序列密码体制、对称密码体制和非对称密钥体制、消息摘要算法等基础密码理论及典型算法,以及它们在密钥管理、密码协议、数字签名、身份认证、电子商务、数字通信和工业网络控制等方面的应用;
(2)通过本课程实验,进一步加深对密码算法及相关知识的理解与掌握;
(3)本课程后期的《应用密码学》课程设计,在老师的指导下,以工程应用为背景,学生通过主动查找资料等,运用前期学过程序设计语言编程实现密码算法,进而完成加密/解密(可以实现对任意字符串和文件加密等功能)、消息摘要算法、数字签名、安全传输、安全存储、密钥共享等实用程序,进一步提高学生在实际项
目中分析问题、解决问题和工程应用能力;
(4)通过本课程的学习,主要完成如表1所示的指标。
表1 应用密码学主要完成的指标
*注:该表所列指标可对照培养方案中所列指标来解释。I:介绍,指从教、学活动中、从生活经
验和社会经验等多种信息渠道获得知识,侧重知识的获取,没有实训要求。T:讲授,指教、学
活动中由教师引导开展的基础测试或练习,匹配有课程讨论、课后研讨等环节。U:运用,指
以学生为主导,通过实练而形成的对完成某种任务所必须的活动方式,匹配有课程的三级项目
或其它实践环节(本课程有课程实验和课程设计)。
四、课程内容、学时分配及主要的教学方法
1.《应用密码学》课程内容和学时分配
本课程总学时:64学时(理论授课42学时,实验6学时,课程设计16学时)表2是《应用密码学》课程理论授课部分的重点、难点的概要以及各部分章节的学时安排,共42个学时。
2.《应用密码学》课程主要教学方法
在应用密码学的教学过程中,采用课堂提问、课后作业练习等方式来考察学生对知识的掌握情况,通过课堂上密码算法的动画演示、密码算法的实现程序等来加深学生对密码算法的理解,提高课堂教学效果。
根据以往的经验,在《应用密码学》课程的教学中,密码学的基本概念、古典密码体制易于掌握;对称密码体制的加密解密流程,掌握的难度不大;掌握的难点集中在非对称密码体制的理解和掌握。另外,对于破解典型的密码体制在计算上的难度,大部分学生的理解深度不够,在因此在教学过程中,采取以下方法提高教学效果:
(1)课堂提问讨论、练习及讲解
对于概念类知识、算法的初步掌握等,通过课堂提问、讨论的方式,激发学生主动去思考、主动去讨论和理解掌握密码算法知识,这样可以加深学生对密码算法知识的理解。比如,原根的概念、RSA算法中提到的素数的个数、SHA-1算法中的对消息最后分组的填充等可以采用提问讨论、练习的方法进行教学。
(2)课堂演示
对于比较复杂的知识点和比较难理解的知识点,可以采用实例演示和动画演示
的方法,比如AES的加密流程、SHA-1算法等。由于这类密码算法相对较复杂,利用课堂实例演示和动画演示,对于学生来说理解起来思路更清晰,也更容易接受。
(3)课后作业练习
对于DES、AES、RSA和SHA-1等密码算法,由于算法结构和运算流程相对较难等特点,因此在教学中不可能在课堂上举这些算法的完整例子。所以可以视学生实际掌握情况,通过布置课后作业练习,有意识的让学生在课后完成课堂上来不及详细讲解的密码算法例子。
(4)实验练习
主要是通过实验,让学生把所学密码算法编程实现(可以选用所熟悉的编程语言)。在理论教学时的实验主要是完成算法中的部分环节,以便加深对算法的理解;而在课程设计环节中,则要求对算法进行完整的实现,甚至是算法在工程实践中的应用。
(5)实践应用
这主要是课程设计及其延展部分的要求。由于密码学是应用性很强的学科,学习理论知识的目的是为了实践应用。因此,很多密码算法是有标准可以遵循的,比如AES算法、DES算法和SHA-1算法都有FIPS的标准,RSA算法在使用上与理论上还是有差别的,使用时要去阅读PKCS的相关文档。同学也可以使用学习的密码算法,去完成对文档及任意文件的加解密等。
3.《应用密码学》课程考核
为了加强《应用密码学》课程教学过程管理,全面考核学生的知识、能力和综合素质,增强学生学习自觉性和主动性,加强对所学知识的理解、掌握和应用,课程组对《应用密码学》课程的考核采取课程过程考核方法。
《应用密码学》课程过程考核的具体办法参见如表5所示的“《应用密码学》课程过程考核知识点及课程过程考核方式”。
五、实践环节的要求
《应用密码学》课程实践环节采用课程实验和课程设计等方式相结合,着力培养学生的设计和开发能力,也是《应用密码兴业》课程教学的重要环节和主要目标。本课程的实践环节分为两个部分:一部分是与理论教学同时进行的实验;另一部分