苏婷 蒋琳 房敏 汪花梅 谢佳
摘要:针对密码学实验课程特点,分析密码学实验教学存在的问题,将实验课程与理论课程紧密结合,并在密码学课程建设中引入密码学实验系统,有力支撑线上教学部分。该文从实验内容设计、实验教学方法和实验考核方式三个方面提出了适合本科密码学实验教学的模式。
关键词: 密码学;实验教学;教学模式
中图分类号:G642,TN918.1-4 文献标识码:A
文章编号:1009-3044(2022)01-0049-02
1 引言
随着信息安全在信息技术领域的重要性日益突出,国内许多高校都开设了信息安全系列专业课程[1]。密码技术是信息安全技术中最为关键且最为基础的技术之一,密码学是研究密码技术的一门课程,它作为信息安全方向的基础课程,为其他信息安全方向课程提供了丰富的理论基础和实践应用,如何设计有效的教学模式才能适合新工科发展的需求,很多教师都在积极探索新的、有效的教学方法[2-5]。本文针对密码学实验课程教学进行探索和研究,在多层次实验内容设计、“四环节”实验教学方法和多样化考核方式几个方面做出教学总结和思考。
2 实验课程总体设计
密码学是由应用数学、通信、计算机应用等多个自然学科汇集而成的综合性学科[3]。首先,其内容涉及的背景知识覆盖全面而且对数学基础要求较高,知识点既丰富又抽象,如何实现将理论课程学习到的知识转化到实验课程中,以此来增强学生的实践能力,对于本科学生来说有一定的难度。其次,密码学作为计算机专业的选修课程,教学大纲只有40课时,其中理论课教学24课时,实验课教学16课时,在有限的课时情况下完全掌握所有的密码算法也不现实。最后,一些密码算法方案冗长复杂,而学生的接受能力有所不同。如何调动学生的积极性,尊重他们的个体差异,让学生主动地学习研究,也是这门课程实验教学面临的一大挑战。
2.1 与理论课相辅相成
根据教学实践过程中的思考提出“一基双群”的课程内容体系,理论课上集中讲授相关数学基础、密码学编码和分析的基础理论,激发学生攻防双向思维模式,建立防御、攻击两个群体攻防相长的思想体系。实验课程在设计实验项目时,将中国剩余定理、欧拉定理、欧几里得定理和扩展的欧几里得定理等基础数学算法抽象出来,使其更加灵活方便地应用到具体密码编码算法实现中,加深学生对数学基础在密码学应用中的理解,并在密码分析过程中利用统计分析和线性分析让学生对古典密码算法和分组密码算法进行破解分析;促使学生带着攻防思维理解密码学各种密码算法的优点和缺陷,思考密码学将来发展的方向,增强实验教学内容的创新性和挑战度。
2.2 线上教学补充
2018年采购密码学实验系统(以下简称实验系统)进行辅助教学,学生随时可以登录系统学习对应实验项目的原理,并利用演示功能验证算法实现的正确性,突破课上实验时间的限制,将时间延伸到2个课时之外。本系统在2020年春季的疫情期间发挥了很大作用,学生在家通过VPN即可访问该实验系统,从发布实验内容到收取实验报告,完全线上进行,很好地完成了 “停课不停教、不停学”的教学目标。实验系统中除了实验项目需要完成的算法之外,还有部分国密算法SM2、SM3等和抗量子密码算法NTRU等实验项目可以供对密码学感兴趣的学生进行扩展学习和研究。
2.3 加入课程思政元素
在实验课程内容设置中引入国家商密算法—祖冲之密码算法(ZUC),激发学生为国家学习、为民族学习的热情和动力;通过对密码编码算法和密码分析算法的编码实现,加强学生对攻防思想的正确理解,引导学生守住使用密码技术的行业操守,培养学生的社会责任感;通过密码学实验的内容结合密码学具体的应用,让学生理解学习密码技术的价值,培养学生勇于攀登、敢啃硬骨头的技术攻关精神和为国家密码事业发展努力学习的决心。
3 实验内容设计
提出“代码框架-伪代码-部分代码”的多层次素材体系,根据算法难易程度和学生学习能力的不同,提供不同层次的素材。同时将密码学综合性应用场景及一部分前沿科技成果引入实验附加题中,既可以作为加分项提高学生积极性又可以选拔优秀学生为后续密码知识竞赛和各类信息安全竞赛做准备。
3.1 实验内容和实验类型设置
以实验系统为辅助实验教学平台对应密码学理论课程的教学内容,共设置6个实验项目,如表1所示,其中设置3个设计型实验,3个综合型实验。
设计型实验学生可以自主选择编程语言对算法或算法中的模块进行编程实现,综合型实验除了考查学生对某个算法的掌握情况,还对学生在算法综合应用的能力上有所要求。实验系统提供所有的实验项目的演示和验证功能,学生在实验过程中通过实验系统的演示功能可以验证自己的程序结果是否正确,并且在遇到问题时可以将中间结果打印输出比对其正确性,便于发现问题。
3.2 實验内容分层次
根据实验的难度要求不同,每次实验给定不同的实验素材,比如实验2和实验5中给出代码框架模板,对于字符转换部分给出代码,让学生聚焦在密码算法代码上面;实验3和实验4给出伪代码便于学生理解算法逻辑;而对于需要密码分析的部分则给出部分代码给同学以思考。结合学生的能力情况,实验2、实验4和实验5增加附加题目,实验2增加分组模式的内容,让学生了解不同的分组模式之间安全性的差异;实验4增加内容为王小云院士对MD5和SHA1的破解方法研究,让学生深刻理解密码分析对于密码发展的重要性;实验5增加公钥和私钥加密综合比较分析的内容,让学生对于对称密钥和非对称密钥的实现方式和应用场景有深入的了解。通过设置附加题目让学习能力强、对信息安全方向感兴趣的学生能够更系统地学习密码学相关知识,调动学生的积极性。
4 实验教学方法和考核要求
4.1 “四環节”教学法
在实验课程教学过程中,通过课前学生自主学习,课堂上教师引导启发,课程中验证算法理论知识,最后实现算法提交报告这四个环节完成一个实验项目的内容,帮助学生理解、掌握密码学的理论知识。
首先,充分利用实验系统,课前下发实验项目,学生可以自主提前预习实验的原理和内容,熟悉算法的基本原理和加解密步骤;其次,在课堂上重点讲解实验项目的核心算法并对于其中的难点进行启发式的提问,引导学生进行自主分析,找到问题的解决方案;然后,学生在动手实现算法前可以通过实验系统进行验证型实验,加深对算法理论知识的理解;最后学生通过分析、设计、编程实现算法并进行总结提交实验报告,对整个密码学算法系统性地了解。如图1所示。
4.2 多样化考核方式
实验考核的成绩由过程考核、结果考核和附加成绩三部分组成,占总成绩的30%,其中过程考核考查学生课堂完成实验的情况,结果考核考查学生的综合能力,附加成绩激励学生自主学习。
4.2.1 过程考核
部分实验项目设置课堂检查环节,在当堂实验课结束前进行检查并给出分数。比如实验1古典密码学部分检查移位密码算法的实现完成情况,实验2关于DES密码算法实现项目,设定初始种子密钥K,检查输出16轮16进制Ki的值是否正确等。通过设置课堂检查环节,可以调动学生在实验课程中的积极性,也能够通过检查某个环节了解学生掌握知识的程度。
4.2.2 结果考核
每一个实验项目要求书写对应的实验报告,并在规定时间内提交到密码学实验系统平台。实验报告由核心算法原理、软件设计流程图、源程序代码、用户手册、测试结果和总结几个模块构成。让学生在每个实验项目完成后能够做一个系统的总结,既能够加深对密码算法的理解,又能够提高其对于应用系统的开发和设计能力。
4.2.3 附加成绩
在基础实验项目的基础上增加了3个附加题目,每完成一个附加题目在原始分值上增加1分,总分不超过30分;让有能力、感兴趣的学生更系统地了解各类密码算法的优劣,充分发挥学生的学习主动性。
5 结论
在密码学实验教学中,通过合理设计实验内容、多样化的实验教学方法和综合性的考核方式,激发了学生的主观能动性,让学生更加扎实地掌握了理论知识,同时也提高了学生对应用系统开发的设计分析能力。后续会探索在实验项目中增加密码技术应用方面的综合型实验,让实验内容更加全面、合理,做好密码学课程的教学工作,使学生能够在后续的信息安全课程学习中打好坚实的基础。
参考文献:
[1] 张权,谢晓霞.“密码学”教学方法探索与实践[J].电气电子教学学报,2011,33(2):108-109,112.
[2] 丁勇.信息与计算科学专业密码学教学研究[J].桂林电子科技大学学报,2008,28(2):131-133.
[3] 刘杨,王佰玲.面向网络空间安全新工科的密码学教学研究[J].高教学刊,2018(12):13-15.
[4] 张瑞霞,唐成华,唐麟.密码学实验教学改革应用实践[J].计算机教育,2013(5):68-71.
[5] 王后珍,张焕国.密码学课程建设及教学方法探讨[J].高教学刊,2016(7):78-79.
【通联编辑:代影】
收稿日期:2021-05-22
基金项目:2020年度高等教育教学改革项目(校级):基于攻防结合和热点应用的密码课程设计,HITSZERP20002,2021.1-2022.12
作者简介:苏婷(1982—),女,河南通许人,实验师,硕士,主要研究方向为网络与信息安全;蒋琳,副教授,博士;房敏,实验师,硕士;汪花梅,实验师,硕士;谢佳,实验师,硕士。
3115500338237