应用密码学课程教学大纲 下载本文

的方法,比如AES的加密流程、SHA-1算法等。由于这类密码算法相对较复杂,利用课堂实例演示和动画演示,对于学生来说理解起来思路更清晰,也更容易接受。

(3)课后作业练习

对于DES、AES、RSA和SHA-1等密码算法,由于算法结构和运算流程相对较难等特点,因此在教学中不可能在课堂上举这些算法的完整例子。所以可以视学生实际掌握情况,通过布置课后作业练习,有意识的让学生在课后完成课堂上来不及详细讲解的密码算法例子。

(4)实验练习

主要是通过实验,让学生把所学密码算法编程实现(可以选用所熟悉的编程语言)。在理论教学时的实验主要是完成算法中的部分环节,以便加深对算法的理解;而在课程设计环节中,则要求对算法进行完整的实现,甚至是算法在工程实践中的应用。

(5)实践应用

这主要是课程设计及其延展部分的要求。由于密码学是应用性很强的学科,学习理论知识的目的是为了实践应用。因此,很多密码算法是有标准可以遵循的,比如AES算法、DES算法和SHA-1算法都有FIPS的标准,RSA算法在使用上与理论上还是有差别的,使用时要去阅读PKCS的相关文档。同学也可以使用学习的密码算法,去完成对文档及任意文件的加解密等。

3.《应用密码学》课程考核

为了加强《应用密码学》课程教学过程管理,全面考核学生的知识、能力和综合素质,增强学生学习自觉性和主动性,加强对所学知识的理解、掌握和应用,课程组对《应用密码学》课程的考核采取课程过程考核方法。

《应用密码学》课程过程考核的具体办法参见如表5所示的“《应用密码学》课程过程考核知识点及课程过程考核方式”。

五、实践环节的要求

《应用密码学》课程实践环节采用课程实验和课程设计等方式相结合,着力培养学生的设计和开发能力,也是《应用密码兴业》课程教学的重要环节和主要目标。本课程的实践环节分为两个部分:一部分是与理论教学同时进行的实验;另一部分

是完成本课程理论学习后的课程设计。

1.《应用密码学》课程实验

具体而言,《应用密码学》课程实验包括以下两种方式:

(1)在进行《应用密码学》课程的理论教学时,结合上机实验进行,提高学生对算法的理解与掌握;

(2)《应用密码学》课程实验安排的课内6学时实验用于集中讨论学生课后上机遇到的问题和检查学生课后上机实验的完成情况。

《应用密码学》课程实验具体安排如表3(本课程包括10个实验,采用课内布置,课内/课外完成形式实施):

表3 《应用密码学》课程实验安排 序 号 1 2 3 4 学 时 2 2 2 2 项 目 性 质 选选必选实 践 形 式 综 综综综每 说 组 人 数 明 1 1 1 1 实验项目名称 内 容 提 要 实现维吉尼亚密码和仿射密码的加密解密。 实现DES算法中S盒查找部分的代码 实现AES算法中S盒查找部分的代码或者是列混合部分的代码 实现序列密码算法RC4. 以小素数实现RSA算法的密钥产生,完成对消息的加解密来加深对算法的理解。幂运算要求用平方乘减少运算量。 以小素数实现ElGamal算法的密钥生成,完成对消息的加解密,幂运算要求用平方乘减少运算量。 按照标准的要求,用程序实现SHA-1算法的填充部分。 使用小素数实现RSA签名算法的密钥产生,不用hash函数,实现RSA签名算法对消息的签名和验证。 使用小素数,用m代替H(m),实现DSA对消息的签名和验证。 古典密码体制的实现 DES算法的部分实现 AES算法的部分实现 RC4算法的实现 非对称密码算法RSA的实现 非对称密码算法ElGamal的实现 消息摘要算法SHA-1的实现 基于RSA的数字签名算法的实现 DSA数字签名算法的实现 修 合 修 合 修 合 修 合 必综5 2 修 合 选综1 6 2 修 合 选综1 7 2 修 合 必综1 8 2 修 合 选综1 9 2 修 合 1 理解和掌握密码理论与技术(对称密码技10 PGP软件的使用 术和非对称密码技术)的原理;能够比较透切地PGP使用公钥密码技术的机理;掌握PGP加密软件在密钥生成及管理。 2 选综修 合 1 说明:按照《应用密码学》课程实验的要求,实验2、3必选一个,实验5、6必选一个,其他

根据实际需要选择。

2.《应用密码学》课程设计

(1)《应用密码学》课程设计的安排

对于《应用密码学》课程设计的安排:总共16学时(课外10学时),由任课教师按照《应用密码学》教学大纲的课程设计要求出题或试卷(主要包括课程设计题目、要求、以及评分标准等),由教研室审核后,经课程组和学院审查同意后,任课教师在课堂上(教室上课)开题。学生在选定与本课程相关的选题后,结合实际工程应用,完成方案设计、实现及编码工作;集中讲授学时不超过6学时,其余时间由任课老师辅导学生完成方案设计、实现及编码工作。

(2)《应用密码学》课程设计的选题

《应用密码学》课程设计的主要选题为下列内容之一:

① 结合实际工程应用的DES算法及变形如3DES等,或者AES算法的实现; ② 结合实际工程应用的SHA系列算法的实现;

③ 结合实际工程应用的RSA加密解密算法或RSA签名算法的实现; ④ 结合实际工程应用的DSA数字签名或者RSA数字签名的实现; ⑤ 结合实际工程应用的ElGamal加密算法或ECC加密算法的实现;

⑥ 结合实际工程应用的密码算法应用(如SSL、随机数产生、密钥共享等)的实现;

⑦ 自拟题目,与老师沟通选题后并被课程组认可,方可作为题目进行设计。 (3)《应用密码学》课程设计的课时分配 ① 需求分析:2学时; ② 方案设计:4学时;

③ 编码实现:6学时(课外10学时); ④ 测试和改进:4学时。

注:根据选题的工作量,可以由1-2个学生完成一个项目(一般情况下是一人一题)。

(4)《应用密码学》课程设计考核

为了提高课程设计质量,提高学生的实践动手能力和工程应用能力,课程设计考核是课程设计中一个非常重要的教学环节。由于《应用密码学》课程设计的大部分时间是在指导老师的指导下由学生自主查资料进行设计与实现,对于其过程控制的难度较大。因此,为了保证课程设计质量,对《应用密码学》课程设计的考核重点是对其结果进行考核,但同时要求指导老师对课程设计过程进行严格的管理。

对《应用密码学》课程设计的考核,采用答辩方式进行(通过答辩可使学生进一步发现设计中存在的问题,进一步明了不甚理解的问题,从而取得更大的收获,圆满地达到课程设计的目的与要求)。指导老师应该对课程设计进行严格的过程管理,同时按照学校和学院对课程设计考核(参见“网络工程学院课程设计的有关规定(试行)”)的有关要求做好平时成绩的记录及课程设计答辩工作。

1)课程设计答辩

① 答辩资格:按照计划完成课程设计任务,经指导教师审查通过后方可参加答辩。

② 答辩小组组成:课程设计答辩小组由本学期承担本门课程设计的老师组成(一般由2-3名老师组成)。

③ 答辩:答辩小组应详细审阅学生的课程设计资料,为答辩作好准备;答辩中,学生须报告自己设计的主要内容(约3分钟),并回答答辩小组成员提问的5-8个问题或回答考签上提出的问题。答辩过程公开并允许其他学生旁听。每个学生答辩总时间约8分钟。答辩过程中,应做好记录,供评定成绩时参考。

2)课程设计成绩的评定

指导老师应该对课程设计过程进行严格的管理,按照学校的要求做好平时成绩考核的记录。答辩结束后,答辩小组应客观公正地确定学生的答辩成绩。课程设计的成绩由指导教师和答辩小组两部分评分组成,两部分的权重各占50%。

3)课程设计成绩评定表

答辩结束后,答辩小组应客观公正地确定学生的答辩成绩。课程设计的成绩由指导教师和答辩小组两部分评分组成,两部分的权重各占50%。课程设计成绩评定表