特色院校密码学优质课程建设研究∗
2020-12-30李艳俊欧海文
李艳俊 欧海文
北京电子科技学院,北京市 100070
引言
密码学作为信息安全的核心,在电子行业、通信行业的地位日益突出。 2020 年1 月1 日起国家实施《中华人民共和国密码法》[1](简称《密码法》),除了从国家安全角度将核心密码和普通密码管理法治化外,另一个重要目的是从保障经济安全、社会安全角度改革现行商用密码管理,使密码在保护非国家秘密信息以及公民隐私方面发挥重要作用。 同时,《密码法》明确规定:坚持中国共产党对密码工作的领导,对密码实行严格统一管理。 密码工作岗位特殊性对从业人员对党的忠诚品格、对国家的感情认同、对业务的熟练程度、对工作的敬业精神等都提出了特殊要求,也就是对密码人才培养工作提出了有别于其他专业的特殊要求。 北京电子科技学院作为隶属于中央办公厅、专门培养机要密码人才的特色高等院校,一直十分重视密码学教学科研工作和相关专业的建设发展。 1984 年,学校设立《密码学》为专业必修课程;2018 年,《密码学》设置为全校学科教育基础课;2019 年,《密码学》课程入选北京市优质课程建设项目,建设目标就是立足本校教学特色、融入课程思政元素、对标国家“金课”标准、适当加大难度,打造具有高阶性、创新性、挑战度的新时代优质课程。
密码技术历史悠久,尤其是自第一、二次世界大战以来发展迅速,已经形成了深厚的理论基础和丰富的应用实践,逐渐成为一门学科[2,3]。由于发展历史较长,密码学形成的内容与分支较多,涉及数学知识也比较多,与其他学科联系广泛,如应用数学、通信、计算机应用和电子电路技术等,多学科交叉融合往往是改革创新的突破点和必由之路[4]。 密码学学科理论基础厚实、实际应用广泛[5-9],技术发展迅速,这大大推动了《密码学》课程的发展。 2020 年7 月,北京电子科技学院对全国高校密码类课程开设情况进行了调研,据不完全统计,全国共有42 所院校开设《密码学》课程,其中8 所院校开设了线上慕课。与这些高校相比,我校在线课程建设还有待完善,但从课程思政、教学内容、教学方式、考核方式等方面进行比较,我校《密码学》课程独具特色,下面从这四方面详细论述。
1 融入课程思政特色
北京电子科技学院思想政治教育素质化的内涵是:围绕为党政系统培养合格人才的目标,构建形成以学生认同为基础、以培养学生忠诚品质为核心,使学生情感、认知和行为有机融合的思想政治素质培育机制和模式。
密码学与爱国主义教育有着天然联系,又是密码人才培养体系最核心最关键的课程,密码学教师在日常教学中结合课程内容,主要从以下三个方面对学生进行课程思政教育。
(1)绝对忠诚、无私奉献的爱国主义教育
《密码学》第一节内容为综述课,结合三个不同历史时期讲解古今中外的密码故事,让学生充分了解密码技术在不同时期的地位和作用,并体会密码工作者绝对忠诚的爱国主义精神和默默无闻的奉献精神。 主要事例包括:世界战争时期的密码故事、国内战争时期的密码故事以及和平时期的密码故事等。 比如,最值得我们骄傲的“豪密”,是由周恩来同志创编,也是中国共产党最早应用的高级密码。 在中国革命战争中,党中央与各根据地之间联络主要依靠无线电台,正是有了“豪密”才保证了党和军队无线通信的绝对安全。 这部分内容我们以放映短片的形式展示给学生,通过声音与画面的完美结合,使得课堂上学生们的民族自豪感油然而生。
(2)一丝不苟、严守纪律的密码素质培养
结合学生毕业后从事的机要密码工作,教育学生要做到安全高效不仅需要可靠的仪器设备,更需要一丝不苟、严守纪律的工作作风。 在《密码学》教学过程中,通过举一些反面典型案例,让学生了解了密码素质、工作作风的重要性。 比如,结合这几年各个行业发生的泄密案件,一方面让学生了解不严格遵守纪律会对国家、对社会、对个人造成严重危害;另一方面提醒和警示学生,督促他们养成自我管理、做事严谨、一丝不苟的好习惯,为密码素质的养成奠定坚实基础。
(3)积极创新、勇于探索的科学素养培育
在当今科技日益发展的时代,学生作为密码事业的接班人,需要用科学知识武装头脑。 在《密码学》教学中,一方面让学生了解我国高新技术发展与发达国家之间的差距,从华为芯片陷入困局到商用密码领域还在使用美国颁布的算法标准等事件为例,深刻体会受制于人的无奈,进而激发学生刻苦学习的动力;另一方面通过阐述我国学者王小云教授破译MD4、MD5、SHA-1算法,最终导致美国启动SHA-3 算法征集活动的过程,以及2012 年中国科学院学者设计ZUC算法入选5G 通讯国际标准等事例,增强学生的民族自豪感和自信心。
此外,通过列举一些和学生实际生活紧密相关的密码技术应用例子,让学生感受到密码和自己的生活息息相关;通过展望未来科技发展的前景,让学生了解密码技术在未来科技发展中的地位和作用,明确自己肩上的重担和神圣使命。
2 夯实课程基础积累
学校《密码学》课程开设30 多年,滋养于有资质的密码教研、科研实践。 逐步壮大的密码教学团队教学经验丰富、专业基础扎实、科研积累丰厚。
(1)梳理数学基础知识
在梳理《密码学》课程内容基础方面,重视夯实学生的数学基础,开设了先导课《密码学数学基础》或者在《密码学》课程中增加数学基础这部分内容。 密码学的主要教学内容可以概括为一条主线、两大部分、六个模块:一条主线指密码发展的时间主线,两大部分指的是对称密钥密码和非对称密钥密码,六个模块指古典密码、序列密码、分组密码、公钥密码、认证数字签名、密钥管理,这六个模块基本上是按时间顺序排列,组成了《密码学》的主要内容。 具体如图1 所示。 根据六个主要模块的内容,我们梳理与其紧密相关的数学基础知识点,然后进行综合系统地讲解。
《密码学》 课程中的数学知识点如表1所示:
表1 《密码学》课程中的数学知识点
那么对于密钥相同、第二轮不含交换操作的两 轮 Feistel 结 构, 如 图 2 ( b) 所 示, 有F2k( XL,XR) =(YL,YR),YR=XL⊕fk(XR),YL=XR⊕fk(XL⊕fk(XR)),对(YL,YR) 再做一次F2k变换,则可以恢复(XL,XR), 所以F2k的逆与自身相同,用它设计的密码结构加解密相同。 也就是说,用函数的概念讲解密码结构,能够加深学生对所学密码知识的理解。
增加数学内容虽然一定程度上加大了《密码学》课程的难度,但是学生在学习密码体制或具体算法时能够真正理解算法设计原理,而不是以往只停留在算法参数和形式上,知其然而不知其所以然,导致知识体系不连贯、研究后劲不足。
(2)积累科研实践经验
北京电子科技学院从1989 年起就相继享有普密、商密等研究资质,这使教研人员得以见识和掌握了大量的第一手素材,《密码学》课程教学正是结合了密码实践中种种鲜活的实例,而不仅仅是一些枯燥的知识传授。 比如,在工程系统实现中嵌入算法,不仅需要考虑算法的安全性和实现效率,还要了解算法的应用场景。 在介绍分组密码工作模式时,若不结合应用环境学生不容易理解该模式的优缺点。 课程讲解过程中可以设置两种应用场景:数据块加密模式和卫星通信加密模式。 数据块加密模式需要对一些明密文数据进行灵活地替换、嵌入或删除操作,所以电子码本模式能够很好地满足这个需求;卫星通信加密模式中要求高度同步的、不容差错传播的模式,这时输出反馈模式就能很好地满足这类系统。 根据应用场景的需求,学生能够很快掌握各种工作模式的特点,而不是机械记忆模式的优缺点,进一步,通过需求不同启发学生设计新的工作模式,提高了《密码学》课程的挑战度。
此外,由于对算法软硬件实现比较熟练,教师会带领学生主动思考算法的程序优化和轻量级实现,从而提高算法实现效率。
3 创新教学方式
(1)建设微课,注重碎片化学习
“微课”既有别于传统单一资源类型的教学课例、教学课件、教学设计、教学反思等教学资源,又是在其基础上继承和发展起来的一种新型教学资源。 它具有教学时长短、内容集中、重点突出、传播灵活等特点,通过采用微课的学习形式,可以充分利用课余时间,有助于学生解决课上不容易理解的内容。 《密码学》微课的内容和设计如图3 所示,每个模块时间控制在5-20 分钟。 通过碎片化学习加深学生对具体知识点的理解和掌握。
(2)线上教学,录制可回放课程
2020 年之前,《密码学》课程组经常讨论线上教学模式,但是由于录制比较耗时,而且经费过高,这部分工作总是止步不前。 在2020 年全国疫情比较严峻的时期,教育部要求各校开展线上教学,由于之前对线上教学举行过多次讨论,所以课程组教师能够在短期之内熟悉相关软件,如雨课堂、腾讯课堂、QQ 直播、钉钉课堂等等,并熟练使用平台各种功能,同时做好教学资料电子化,包括电子化图书、电子化文档、线上测试试题、小程序作业提交等工作。 对于有事请假的学生,可以回放课程进行学习,大大节省了教师重复讲课时间,从而有更多的时间为学生提供答疑服务,加强课程系统性学习,弥补碎片化学习的不足,提高了教学效率。
(3)加强讨论,引导学生主动思考
古人说,“授人以鱼,不如授之以渔。”授人以鱼只救一时之急,授人以渔则可解一生之需。在本课程教学中,采用了提问、比较和讨论的启发式教学方式[10-13],使学生在思考中学习,在学习中主动思考。
采用分组讨论是我们改革的一个重要形式。课后布置预习内容,并指出不同的知识点由不同的小组在下节课时讲解,讲完之后教师再作补充。 在选择内容方面,根据学生学习能力不同选择难易程度不同的知识点进行布置。 比如代替密码的破译,对于学习钻研能力一般的学生,布置单表代替的破译;对于学习钻研能力较强的学生,布置周期代替密码体制的破译。 除了内容选择有针对性以外,鼓励学生分工合作,提高效率。比如在学习周期代替密码体制的破译中,涉及到粗糙度和重合指数的概念,这两个概念研究的是概率问题,在破译的过程中,需要的计算量很大,必须借助编程方能完成,因此学习小组既要有擅长概率学的同学,又要有编程能力强的同学,当然最后还要有同学负责在课堂上讲解,所以理解能力强口才好的学生能够发挥长项。 在课堂内外多设计思考题,通过培养分析问题能力推进学生研究性学习。 对于不同的密码体制有不同的经典密码算法,这些算法都可以布置给学生预先学习研究,并给出基本问题。 比如DES、AES 的设计原理分别是什么? 它们的区别在哪里? 为什么有这些区别?
通过小组讨论研究的方式,提高了学生学习的主动性,避免教学过程中“教师讲得口干舌燥,学生听得昏昏欲睡”。 总结分小组讨论的优势主要有以下两点:
①主题突出、内容具体。 研究的问题来源于教学中的重点内容或是具体实践中的具体问题,学生带着这些问题去学习就有了针对性。
②主动研究、合作完成。 正因为课题内容涉及的知识点较多,小组每个人都要发扬主人翁精神,都是课题的研究者。 学生在研究完课题并讲述的过程中需要合理分配工作,同时通过对课题的研究深入,加强了对知识的理解和掌握。 这种方式不仅推进了学生研究性学习,还加强了团队合作能力。
(4)结合实际,鼓励学生参加科技活动
培养了比分析解决问题更高层次的能力,即提出问题、发现问题的能力。 根据密码学面向应用、新思想新技术不断涌现的特点,对每一个知识点设计了“基本概念和基本原理→基本算法→算法实现→相关应用案例→前沿研究课题”的多层次教学模式,使学生在掌握理论基础的同时,开拓思维,结合实际应用场合,远瞻未来发展。 如对于数字签名,从与手写签名的比较中,引出数字签名的功能与特性,再给出数字签名的定义和设计要求,然后给出若干数字签名方案(如RSA 签名方案、数字签名标准DSS),最后给学生提出几种特殊场景:电子投票的签名(盲签名)如何设计? 为避免权力集中而采用多人签名(群签名)的方案如何设计? ……启发学生根据应用场景不同提出不同的密码问题和解决方案。
此外,密码学具有面向应用、与实际联系密切的特点,很多创新成果都是多学科交叉融合的结果,结合不同的应用学科,引导同学深入思考,是实现创新的可行途径。 鼓励学生参加省市、全国组织的各类密码技术竞赛,支持校、系密码安全相关类的实践活动,锻炼了学生勇于走出课堂、走出校门,对课程的教学改革亦取得了很大的推动作用。 目前很多学生参加信息安全竞赛的题目都是涉及密码学技术或应用方面的,比如2014 年我校学生获得全国信息安全竞赛一等奖的题目就是“密码测试系统的设计”。 每年举办的全国大学生信息安全大赛、全国密码技术竞赛以及北京市大学生“挑战杯”竞赛等,当届修完《密码学》课程的学生中有30%以上参加;逐年开展的“国创”计划项目和北京市共建项目等,全校密码类一般占40%以上。
4 考核方式全程化
课程考核方式对课程建设具有引导和约束的作用,它反映了一门课程的教学质量。
为了改变传统的“一考定成绩”的简单考核方式,《密码学》课程提出课程考核改革的目标为:把课程教学作为提高学生综合素质的重要环节,实现课程考核向过程考核转移。 逐步形成了具有一定特色、具有可操作性、方案合理的课程考核方式。 课程考核方式改革具体方案为:
▶课程考核有两种模式:平时作业成绩15%+平时实验成绩15%+期末成绩70%
设计讨论成绩15%+课堂表现15%+期末成绩70%。
▶平时作业由任课教师根据教学计划布置并批阅。
▶学生必须自拟设计算法的题目或根据任课教师布置的题目,按要求分组合作完成,并在一定形式下进行宣讲、答辩。
▶期末成绩指参加期末统一考试后,由教研室教师流水判阅,在统一阅卷的基础上给出。
设计讨论组的答辩在课堂上进行,由任课教师、课代表、学习委员、班长担任评委,每组同学按顺序在教学班上进行宣讲、答辩,之后由评委提问,该组中的每位同学都会被问到,根据回答情况给分,最后取平均分作为该同学的成绩。
通过课程考核方式的改革,取得了如下预期的效果:
(1)实现了课程考核向过程考核的转移。一门课程的学习不仅仅是一个结果,更应该是一个过程。 学生学习效果的好坏,主要取决于整个教学过程。 与之相适应,考核也应贯穿于整个教学过程。 在课程组设计的考核方案中,作业成绩的给出需跨越整个教学过程。
(2)提高了学生综合素质。 学生在课程学习中除了要掌握基本知识外,综合能力的提高也是主要的一个方面。 考核方式改革中始终坚持以学生为主体,教师为主导、着重于教学质量的提高和学生综合能力的培养。 在小组讨论并设计算法的活动中,鼓励学生自己查阅科技文献,以提高学习和思考的兴趣;既鼓励独立思考又强调相互交流,培养了协作、沟通的能力。 整个算法设计完成的过程中对学生的表达能力、团队合作精神、组织和独立处理事情以及进行科学研究的能力,即综合能力的培养具有促进作用。
(3)提高了学生的学习兴趣和学习效果。由于改革了考核模式,采用了较为新颖的教学方式,学生有明确的学习任务和目标,课堂教学秩序好,气氛活跃,课后师生交流频繁。 讨论组的算法设计与宣讲,提供了展现学生能力的机会,极大地提高了同学们的学习热情,大家根据兴趣,志愿结成讨论小组,小组内积极讨论以至于争论,小组间相互交流,形成了良好的学习、研究的氛围。
(4)为课程建设特别是教材建设积累了经验、指明了方向。 考核方式的改革既注重教学结果,更注重教学过程和细节,这就要求合适的教材或教材体系与之配套,督促教师对教材不断进行修改完善。
在2020 年疫情期间,由于线上考试的种种不便利,这种研究型、设计型的教学考核模式发挥了很大作用。 密码类课程采用开放性考试形式,学生通过网上搜索资料,主动参与思考,对不少原有的算法进行了优化实现;即使能力有限的同学也对所学知识进行了更加透彻的理解。
总之,通过以上四方面的改革,我们在激发学生学习兴趣、发挥学生的主观能动性、提高学生自主研究问题的能力方面有明显改进。 下一步,密码教学团队将进行在线课程优选和录制剪辑,争取尽快完成《密码学》慕课建设相关工作。希望密码学优质课程建设成果能够为更多高校相关课程建设提供借鉴和帮助。 此外,随着密码学科的发展,各高校正进行新一轮教学改革和专业建设,如何使改革创新常态化而不流于形式,从本质上提高学生综合能力,从而推动整个密码专业的建设、密码学学科发展迅速,随着量子计算的逐渐成熟,如何在教学改革中进一步融入这类新技术等等,这些问题都值得我们继续探讨和研究。