高职密码学课程教学设计与实践研究

作者: 张泽宁 杨佳琦

高职密码学课程教学设计与实践研究0

关键词:密码学;高职学生;教学内容;教学方式;考核方式

0 引言

信息化的迅猛发展给人们的生产生活带来了深刻变化,让人们在享受数字化生活的同时信息安全问题也日益突出,不仅给个人生活带来诸多不便,也影响国家安全[1]。密码技术是解决信息安全问题的关键技术[2],目前已应用于各类信息系统中,在保障数字经济发展安全、物联网、云计算、人工智能等新技术方面发挥着基础性作用。2020年1月1日,国家颁发《中华人民共和国密码法》,用于规范密码应用和管理,保障网络与信息安全,维护国家安全和社会公共利益[3]。并于2021年,教育部在高职新增密码技术应用专业,旨在加强密码人才的培养。目前,开设密码技术专业的高职院校逐渐增多,密码学课程是密码技术专业的核心课程,并逐步在高职院校专科生信息类相关专业开设。针对本校密码学课程教学中存在的问题,总结经验教训,对密码学课程的教学进行研究设计与实践。

1 高职密码学教学现状分析

密码学是一门交叉学科,与数学、计算机科学、电子等学科联系紧密,是研究如何隐秘地传递信息,及如何针对加密的信息计算其被解密的代价的学科[4]。涉及知识范围比较广,涉及信息论、概率论、数论、离散数学、计算机网络等相关知识,其中包含着大量数学知识,学好密码学需要拥有雄厚的数学基础;但现实是,高职学生在上密码学课程之前并未学过信息论、离散数学等知识,数学基础也比较薄弱。同时密码学的交叉性决定了学生学好这门课程同时需要具备一定的动手操作能力,而目前市面上出现的关于密码学的教材大多用于本科或研究生教学,偏于理论,重视数学知识、原理、推演分析,内容深奥,不适合高职学生学习,因此增加了教学难度。

密码学课程的授课内容主要包含密码学基础、古典密码、分组密码、序列密码、公钥密码、数字签名与身份认证、密钥管理等[5]。教师在讲前期基础知识、古典密码过程中引入一些历史故事,能较好地吸引学生的注意力;讲到专业性较强的部分,例如分组密码的设计,比较枯燥,学生明显注意力不集中,尤其涉及包含较多数学知识的内容,由于高职学生数学知识比较薄弱,学起来比较吃力,大部分存在畏难情绪而不愿意听课,但这部分知识又不能完全避开。教学过程中既不能浮于表面局限于泛泛的理论知识,又不宜深挖密码学理论的细节、过多进行数学推导,应重视学生动手能力的培养,并进行合适的教学设计,调动学生学习的主动性和积极性。

2 教学内容的设计

在学生数学基础薄弱的背景下,在密码学教学内容的设计过程中,对于密码算法理念和应用的理解,通过融入课程思政以实际案例讲解,给学生直观感受;对于难度较低的古典密码,借助编程实现,加强密码教学实践性;对于复杂的现代密码,借助现成工具演示实验,避免高深数学原理的推导,从而让学生更容易掌握密码学的整体架构体系。

2.1 理论讲解融入课程思政

全国高校思想政治工作会议上指出“要坚持把立德树人作为中心环节,把思想政治贯穿教育教学全过程,推进其他课程与思想政治理论课同向同行,形成协同效应”[6]。要保证在提升学生学习技能的同时完成思想政治教育。密码学是在信息“加密”与“破译”两者斗智斗勇、循环往复的较量中不断发展进步的,背后伴随着一系列政治、军事和外交等活动,因此在密码学课程中融入思想政治教育有着天然的优势。例如:在讲密码的发展史时融入美国在第二次世界大战中由于破译了包括被称为“紫密”在内的日本“九七式”机械式密码,决定了中途岛战役和山本五十六事件的胜利,鼓舞了反法西斯同盟国家的士气,扭转了太平洋战争局势;在讲现代密码时融入王小云院士对世界上应用最广泛的两大密码MD5和SHA1算法的破解心路历程,及设计出中国第一个国产的密码算法标准SM3,为我国交通、电力系统、金融系统、航天工程等保驾护航,保卫国家安全。通过现实案例让学生体会密码学知识在现实生活中的重要作用,增强学生学习密码学的原动力,培养学生成为具有家国情怀、使命担当的可靠人才。

2.2 通过编程实现古典密码

古典密码也被称为简单密码学,其密码算法对数学知识要求不高,仅涉及数学函数、代数运算等相关知识。因此古典密码算法相较现代密码比较简单,容易理解,程序代码量也比较小,可让学生选择学习过的编程语言将古典密码算法通过编程实现。比如在讲解移位密码的过程中,首先讲述移位密码的加解密原理,在理解移位密码加解密思想的基础上,与学生一起进行算法设计,理清编程思路,排列出完成此算法的具体步骤,之后让学生用学过的Python语言去实现,最后让学生通过手动加解密的方法对编程结果进行验证。通过编程实现既能够考查学生对算法的理解程度,同时对学生在编程能力上有所要求,从而加深学生对密码加解密工作原理的理解,提升学生的分析及编程能力,避免传统教学中的老师一直讲、学生一直听的教学模式。

2.3 利用CrypTool 工具学习现代密码

现代密码相对于古典密码来讲,数学在其中的占比越来越大,加解密算法的基本原理也相对复杂,相应所编写的程序代码量也较大。而高职学生数学基础都相对比较薄弱,对于密码学要求的线性代数、离散数学等数学知识涉及得较少,理解现代密码加解密原理变得困难。因此借助开源的密码学教学工具——CrypTool 通过动画演示方式帮助学生理解密码算法的基本原理。CrypTool是一个专门为学习密码学而设计的免费、开源的软件[7],是通过封装算法对外提供可视化图形界面。例如:在学习对称密码AES算法时,利用Crypool工具提供的流程可视化功能,向学生直观展示AES算法加密流程的每个步骤:字节代替、行移位、列混合、轮密钥加及对应的运算结果,针对每个步骤,可按暂停键,与学生讨论交流,让学生理解每一步骤的实现过程。如图1所示,正在进行的步骤是字节代替,经过CrypTool演示,可以清楚展示每个字节如何进行S盒置换,映射为另外一个字节,加强学生对AES 加密算法工作原理的理解。通过利用Cryp⁃Tool工具,动态显示密码算法的加解密流程,提升了学生的学习兴趣,增强了教学效果。

3 教学方式的设计

密码学是一门理论性较强的课程,为了避免知识讲解的枯燥性,更好调动学生学习的积极性,本课程在教学过程中除了采用传统的教学模式外,还通过拓展课堂知识,引导学生探讨密码学最新发展进程;人为细化一些密码算法,降低分析难度,如一轮 DES加密分析;引导学生参加信息安全大赛,检验平时学习成果的方式提高学生学习的主动性和参与性,增强课堂教学效果。

3.1 拓展课堂知识,加强课堂互动

密码学一直在不断创新和发展,而目前所用的教材对于前沿的密码技术存在一定的滞后性。教师可在教学过程中针对教授的内容提供相关的视频资料、网站论坛、国际会议、学术论文等,供学生观看阅读,并在课堂上讨论观看阅读后的想法,增强学生的互动与思考,活跃课堂氛围。例如讲解密码学发展历史时,为学生推荐了相关的电影、纪录片:《决战中途岛》《风语者》《密码疑案》《军事科技》栏目“加密和破译的永恒之战”等。课堂学生通过讨论观看内容,了解密码是伴随着战争产生的,是在战争中相互对抗不断发展进步的,之前被认为无法破译的密码都随着战争的需要相继被破译,而旧密码的破译又伴随着新密码的产生,间接推动着密码学的发展。当前密码安全同样受到量子计算的攻击,量子安全成为国际研究的热点。同时给学生介绍我国密码领域相关的政策、法律,当前国际的研究现状,我国科研工作者做了哪些工作,以此引导学生了解密码学的发展现状,拓宽学生知识面,提升学生的视野,增强民族自豪感。

3.2 细化实验项目,加强课堂实践

密码学的理论性比较深入,部分知识对于高职学生来说难以理解,因此要克服纸上谈兵的倾向,让学生真正动手操作,才能学以致用。为促进学生有效学习,可以细化密码算法实验。比如在讲述仿射密码时,依据仿射密码涉及的知识,精心为学生设计欧几里得算法实现、仿射密码加密算法、扩展欧几里得算法实现、仿射密码解密算法、仿射密码暴力破解编程实践题目,学生通过小组合作的方式完成每一部分任务。现代密码算法本身比较复杂,编写代码超出了高职学生的能力范畴,可以将算法进行功能模块分解。比如在学习数据加密标准 DES算法时,流程繁杂,运算步骤多。可以将DES加密过程划分为三个阶段:初始置换IP、迭代变换、初始逆置换;每次迭代又细分为四个子模块:E扩展置换、与子密钥异或、S盒替代、P 盒置换。每个功能模块划分给一个小组,由小组分工合作计算一轮迭代结果。由此充分调动学生的积极实践、学习能力,对复杂密码算法的实现过程有更深刻的理解,培养学生团队协作的精神。

3.3 参加技能比赛,提升课堂效果

职业技能大赛是我国职业教育的一项创新制度,旨在利用技能大赛的形式,对学生日常所学习的知识进行考核评估和实践[8]。它是紧随时代发展和社会进步的,其比赛内容反映了当下企业的需求和行业动态,无论对学生职业能力、竞争力的提升还是教师教学能力的提升都极有帮助,尤其是本校信息安全教师都相对年轻。因此,对于有学习兴趣的学生,可以带其参加信息安全的比赛,例如:全国职业院校技能大赛中的“信息安全管理与评估”赛项等,增强学生职业技能;并结合学生表现,总结经验教训,完善优化课程内容,弥补自身在教学工作中的不足,实现以赛促教,提升教学能力,提高课堂效果。同时,可与相关企业合作,建立校企协同育人平台,让学生考取“1+X”证书,更好地培养更多的技能型人才。

4 课程考核方式设计

传统期末考核方式主要是通过书面考试的形式,根据学生的卷面成绩和平时成绩,对学生本学期的学习情况进行最终考核,忽略了学习过程中的考核,不能充分体现学生的实践能力,对学生掌握知识的程度了解不足。对于高职学生来讲,密码学作为信息安全的专业课,一般会在大三学期开设,此时学生具备一定的理论知识和动手操作能力,可以采用更加灵活的考核方式,关注评价的多元性,重视阶段评价和实践评价。依据人才培养方案、学生的学习特点,将密码学的考核部分分为平时成绩(20%) +过程性考核(50%) +期末考试(30%) 。平时成绩侧重考查学生的上课状态,包括考勤和学习笔记情况;过程性考核是阶段性的测评,重点对课程教学中供学生动手操作的实验项目进行考核,占比较大,作为期末考核的关键部分,旨在培养学生的动手实践能力;期末考试占比较小,主要考查学生对密码学理论知识的掌握。通过改进传统考核方式,全面考查学生的综合素质,促进学生竞争力的提升。

5 教学成效

授课结束后,对本校信息安全两个班65名学生进行了密码学教学效果的问卷调查,结果显示70%学生认为能够理解密码学的基本概念,80%学生认为通过学习密码学课程培养了其动手实践能力。组织学生参加河北省“信息安全管理与评估”大赛取得了较好成绩,说明当前密码学课程的教学模式对学生的学习有一定帮助,在一定程度上提升了学生学习密码学的热情。

6 结论

本文对本校信息安全的密码学课程进行研究,分析了密码学教学过程中面临的挑战,对密码学课程进行教学设计与实践,具体从教学内容、教学方式、考核方式三个角度进行了阐述,更好的激发了学生学习的积极主动性,加深学生对密码学理论知识的理解,培养学生解决问题、动手实践能力,提升了教学效果。后续会继续探索,做好密码学的教学工作,为后续的信息安全课程打下良好的基础。

上一篇 点击页面呼出菜单 下一篇