2019年《应用密码学》课程教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用密码学》课程教学大纲
、课程代码与名称
课程代码:EI439001 中文名称:应用密码学英文名称:Applied Cryptography 、课程概述及与相关课程关系
随着通信网络及安全技术的发展,网络与信息的安全性等受到了人们的广泛关注。
密码技术作为信息安全的核心技术,为信息的保密性、完整性、可用性和可靠性等提供了实现的一种手段,在电子商务/ 电子政务、网络通信等方面的受到了高度重视。
b5E2RGbCAP
密码学是计算机、通信、应用数学、软件工程等专业的交叉学科,本课程主要学习古典密码体制、对称密码体制、非对称密码体制、序列密码体制、消息摘要算法等基础密码理论及典型算法,以及它们在密钥管理、密码协议、数字签名、身份认证、电子商务、数字通信和工业网络控制等方面的应用。
p1EanqFDPw
图1 应用密码学与其它课程关系图
《应用密码学》课程与其他课程的关系如图1 所示。
其中,《工程导论》、《面向对象程序设计》、《数据结构》和《信息安全数学基础》是《应用密码学》课程的前期课程,而具备《微积
分Ⅰ》、《微积分Ⅱ》、《线性代数与空间解析几何》、《离散数学》、《概率论与数理统计》的知识,
对于密码学算法的编程实现和理解是有帮助的。
DXDiTa9E3d
通过本课程的学习,为进一步学习后续专业课程(如《信息安全理论与技术》、《信息对抗理论与技术》、《网络攻击与防御》、《灾难备份技术》、《信息隐藏与数字水印》、《系统加密与解密》和《安全系统整体解决方案设计》等课程)及在从事网络信息安全应用系统的设计与开发等实际工作奠定理论基础。
RTCrpUDGiT
三、课程教学对象与教学目的
适用专业:信息安全、信息对抗技术
教学目的:
(1)通过本课程的学习,学生能够掌握密码学的基本概念、古典密码体制、序列密码体制、对称密码体制和非对称密钥体制、消息摘要算法等基础密码理论及典型算法,以及它们在密钥管理、密码协议、数字签名、身份认证、电子商务、数字通信和工业网络控制等方面的应用;5PCzVD7HxA (2)通过本课程实验,进一步加深对密码算法及相关知识的理解与掌握;(3)本课程后期的《应用密码学》课程设计,在老师的指导下,以工程应用为背景,学生通过主动查找资料等,运用前期学过程序设计语言编程实现密码算法,进而完成加密/ 解密(可以实现对任意字符串和文件加密等功能)、消息摘要算法、数字签名、安全传输、安全存储、密钥共享等实用程序,进一步提高学生在实际项目中分析问题、解决问题和工程应用能力;jLBHrnAILg
(4)通过本课程的学习,主要完成如表1 所示的指标。
表1 应用密码学主要完成的指标
*注:该表所列指标可对照培养方案中所列指标来解释。
I :介绍,指从教、学活动中、从生活经验和社会经验等多种信息渠道获得知识,侧重知识的获取,没有实训要求。
T:讲授,指教、学活动中由教师引导开展的基础测试或练习,匹配有课程讨论、课后研讨等环节。
U:运用,指以学生为主导,通过实练而形成的对完成某种任务所必须的活动方式,匹配有课程的三级项目或其它实践环节(本课程有课程实验和课程设计)。
xHAQX74J0X
四、课程内容、学时分配及主要的教学方法
1.《应用密码学》课程内容和学时分配
本课程总学时:64学时(理论授课42学时,实验6学时,课程设计16学时)表2是《应用密码学》课程理论授课部分的重点、难点的概要以及各部分章节的学时安排,共42个学时。
表2 《应用密码学》课程理论授课部分的内容安排
2.《应用密码学》课程主要教学方法在应用密码学的教学过程中,采用课堂提问、课后作业练习等方式来考察学生对知识的掌握情况,通过课堂上密码算法的动画演示、密码算法的实现程序等来加深学生对密码算法的理解,提高课堂教学效果。
LDAYtRyKfE
根据以往的经验,在《应用密码学》课程的教学中,密码学的基本概念、古典密码体制易于掌握;对称密码体制的加密解密流程,掌握的难度不大;掌握的难点集中在非对称密码体制的理解和掌握。
另外,对于破解典型的密码体制在计算上的难度,大部分学生的理解深度不够,在因此在教学过程中,采取以下方法提高教学效果:Zzz6ZB2Ltk
(1)课堂提问讨论、练习及讲解对于概念类知识、算法的初步掌握等,通过课堂提问、讨论的方式,激发学生主动去思考、主动去讨论和理解掌握密码算法知识,这样可以加深学生对密码算法知识的理解。
比如,原根的概念、RSA算法中提到的素数的个数、SHA-1算法中的对消息最后分组的填充等可以采用提问讨论、练习的方法进行教学。
dvzfvkwMI1
(2)课堂演示对于比较复杂的知识点和比较难理解的知识点,可以采用实例演示和动画演示的方法,比如AES的加密流程、SHA-1算法等。
由于这类密码算法相对较复杂,利用
课堂实例演示和动画演示,对于学生来说理解起来思路更清晰,也更容易接受。
rqyn14ZNXI
(3)课后作业练习对于DES、AES、RSA和SHA-1等密码算法,由于算法结构和运算流程相对较难等特点,因此在教学中不可能在课堂上举这些算法的完整例子。
所以可以视学生实际掌握情况,通过布置课后作业练习,有意识的让学生在课后完成课堂上来不及详细讲解的密码算法例子。
EmxvxOtOco
(4)实验练习主要是通过实验,让学生把所学密码算法编程实现(可以选用所熟悉的编程语言)。
在理论教学时的实验主要是完成算法中的部分环节,以便加深对算法的理解;而在课程设计环节中,则要求对算法进行完整的实现,甚至是算法在工程实践中的应用。
SixE2yXPq5
(5)实践应用这主要是课程设计及其延展部分的要求。
由于密码学是应用性很强的学科,学习理论知识的目的是为了实践应用。
因此,很多密码算法是有标准可以遵循的,比如AES算法、DES算法和SHA-1算法都有FIPS的标准,RSA 算法在使用上与理论上还是有差别的,使用时要去阅读PKCS的相关文档。
同学也可以使用学习的密码算法,去完成对文档及任意文件的加解密等。
6ewMyirQFL 3.《应用密码学》课程考核为了加强《应用密码学》课程教学过程管理,全面考核学生的知识、能力和综合素质,增强学生学习自觉性和主动性,加强对所学知识的理解、掌握和应用,课程组对《应用密码学》课程的考核采取课程过程考核方法。
kavU42VRUs
《应用密码学》课程过程考核的具体办法参见如表5所示的“《应用密码学》课程过程考核知识点及课程过程考核方式”。
y6v3ALoS89
五、实践环节的要求
《应用密码学》课程实践环节采用课程实验和课程设计等方式相结合,着力培养学生的设计和开发能力,也是《应用密码兴业》课程教学的重要环节和主要目标。
本课程的实践环节分为两个部分:一部分是与理论教学同时进行的实验;另一部分
是完成本课程理论学习后的课程设计
M2ub6vSTnP
1.《应用密码学》课程实验
具体而言,《应用密码学》课程实验包括以下两种方式:
(1)在进行《应用密码学》课程的理论教学时,结合上机实验进行,提高学生对算法的理解与掌握;
(2)《应用密码学》课程实验安排的课内6学时实验用于集中讨论学生课后上机遇到的问题和检查学生课后上机实验的完成情况。
0YujCfmUCw 《应用密码学》课程实验具体安排如表3(本课程包括10个实验,采用课内布置,课内/ 课外完成形式实施):
表3 《应用密码学》课程实验安排
说明:按照《应用密码学》课程实验的要求,实验2、3 必选一个,实验5、6 必选一个,其他根据实际需要选择。
eUts8ZQVRd
2.《应用密码学》课程设计
(1)《应用密码学》课程设计的安排对于《应用密码学》课程设计的安排:总共16学时(课外10学时),由任课教师按照《应用密码学》教学大纲的课程设计要求出题或试卷(主要包括课程设计题目、要求、以及评分标准等),由教研室审核后,经课程组和学院审查同意后,任课教师在课堂上(教室上课)开题。
学生在选定与本课程相关的选题后,结合实际工程应用,完成方案设计、实现及编码工作;集中讲授学时不超过6学时,其余时间由任课老师辅导学生完成方案设计、实现及编码工作。
sQsAEJkW5T
(2)《应用密码学》课程设计的选题
《应用密码学》课程设计的主要选题为下列内容之一:
①结合实际工程应用的DES算法及变形如3DES等,或者AES算法的实现;
②结合实际工程应用的SHA系列算法的实现;
③结合实际工程应用的RSA加密解密算法或RSA签名算法的实现;
④结合实际工程应用的DSA数字签名或者RSA数字签名的实现;
⑤结合实际工程应用的ElGamal加密算法或ECC加密算法的实现;
⑥结合实际工程应用的密码算法应用(如SSL、随机数产生、密钥共享等)
的实现;
⑦自拟题目,与老师沟通选题后并被课程组认可,方可作为题目进行设计。
(3)《应用密码学》课程设计的课时分配
①需求分析:2 学时;
②方案设计:4 学时;
③编码实现:6 学时(课外10学时);
④测试和改进:4学时。
注:根据选题的工作量,可以由1-2个学生完成一个项目(一般情况下是一
人一题)。
(4)《应用密码学》课程设计考核为了提高课程设计质量,提高学生的实践动手能力和工程应用能力,课程设计考核是课程设计中一个非常重要的教学环
节。
由于《应用密码学》课程设计的大部分时间是在指导老师的指导下由学生自
主查资料进行设计与实现,对于其过程控制的难度较大。
因此,为了保证课程设
计质量,对《应用密码学》课程设计的考核重点是对其结果进行考核,但同时要
求指导老师对课程设计过程进行严格的管理。
GMsIasNXkA
对《应用密码学》课程设计的考核,采用答辩方式进行(通过答辩可使学生进一步发现设计中存在的问题,进一步明了不甚理解的问题,从而取得更大的收获,圆满地达到课程设计的目的与要求)。
指导老师应该对课程设计进行严格的过程管理,同时按照学校和学院对课程设计考核(参见“网络工程学院课程设计的有关规定(试行)”)的有关要求做好平时成绩的记录及课程设计答辩工作。
TIrRGchYzg 1)课程设计答辩
①答辩资格:按照计划完成课程设计任务,经指导教师审查通过后方可参加答辩。
②答辩小组组成:课程设计答辩小组由本学期承担本门课程设计的老师组成(一般由2-3 名老师组成)。
③答辩:答辩小组应详细审阅学生的课程设计资料,为答辩作好准备;答辩中,学生须报告自己设计的主要内容(约3分钟),并回答答辩小组成员提问的5-8个问题或回答考签上提出的问题。
答辩过程公开并允许其他学生旁听。
每个学生答辩总时间约8分钟。
答辩过程中,应做好记录,供评定成绩时参考。
7EqZcWLZNX 2)课程设计成绩的评定指导老师应该对课程设计过程进行严格的管理,按照学校的要求做好平时成绩考核的记录。
答辩结束后,答辩小组应客观公正地确定学生的答辩成绩。
课程设计的成绩由指导教师和答辩小组两部分评分组成,两部分的权重各占50%。
lzq7IGf02E
3)课程设计成绩评定表答辩结束后,答辩小组应客观公正地确定学生的答辩成绩。
课程设计的成绩由
指导教师和答辩小组两部分评分组成,两部分的权重各占50%。
课程设计成绩评定表如表4所示。
zvpgeqJ1hk
表4 课程设计成绩评定表
六、课程考核
《应用密码学》课程包含理论教学、实验和课程设计三部分。
在《应用密码学》课程考核中,实行课程过程考核(平时占总成绩的70%,期末占总成绩的30%)。
在注重理论教学的同时,特别强调了实践和应用在本课程中的比重。
各部分在本课程中的考核方式和比重如下:NrpoJac3v1
(1)理论部分:期末采用闭卷考试,占总成绩的30%;
(2)《应用密码学》课程实行过程考核:占总成绩的70%,按照百分比重分配如下:
① 平时考勤(上课、实验和课程设计考勤):10%
② 其余90%,按照如表5 所示的《应用密码学》课程过程考核知识点及课程过程考核方式所占比重进行考核。
表5 《应用密码学》课程过程考核知识点及课程过程考核方式
注:任课老师也可以用“ 表《应用密码学》课程实验安排”的实验成绩作为表中对应的
“ 课程过程考核知识点”的考核成绩。
1nowfTG4KI
七、教材与主要参考书
1.教材张仕斌、万武南、张金全和孙宣东编著,应用密码学,西安电子科技大学出版社,2009.12.
2.主要参考书籍
[1] 杨波编著,现代密码学, 北京:清华大学出版社,2004
[2] 胡向东、魏琴芳编著,应用密码学教程,电子工业出版社,2005
[3]B ruce Schneier 编著(吴世忠、祝世雄、张文政等译),应用密码学(Applied Cryptography: Protocols, Algorithms, and Source Code ),
北京:机械工业出
版社,2000fjnFLDa5Zo
[4]William Stallings 编著, Cryprtography and Network Security:
Principles and Practice (2nd version), 北京:清华大学出版社, 2000 tfnNhnE6e5
[5]Douglas R.Stinson 编著(冯登国译),密码学原理与实践(第二
版),电子工业出版社,2003 HbmVN777sL
[6]章照止编著, 现代密码学基础,北京:北京邮电大学出版社,2004
[7]冯登国等编著,密码学导引,北京:科学出版社,1999
[8]王育民、何大可编著,保密学- 基础与应用,北京:科学出版社,
1987
[9]赖溪松、张真诚等编著(张玉清等改编),计算机密码学及其应用,国
防工业出版社,2001
[10]卿斯汉编著,密码学与计算机网络安全,清华大学出版社,2001
[11]冯登国、裴定一编著,密码学导引,科学出版社,2001
[12]胡予濮、张玉清、肖国镇编著,对称密码学,机械工业出版社,2002
[13]Joan Daemen, Vincent Rijmen 编著(谷大武、徐胜波译),高级加密
标准(AES)算法——Rijndael 的设计,清华大学出版社,2003V7l4jRB8Hs
[14]王育民、刘建伟编著,通信网的安全-理论与技术,西安电子科技大学
出版社,1999
[15]陈恭亮编著,信息安全数学基础,清华大学出版社,2004
[16]潘承洞、潘承彪编著,初等数论(第2版),北京大学出版社,2002
[17]胡冠章编著,应用近世代数(第二版),清华大学出版社,1999
[18]与密码学相关的数据库:IEEE Xplore VIP 数据库、万方数据库。
[19]与密码学相关的重要网站:IACR 、NIST网站、NSA网站。