“新工科”背景下密码学课程改革探究

2018-07-12 09:37郭宇燕孙梅余磊沈龙凤孟祥虎
电脑知识与技术 2018年14期
关键词:密码学理论教学新工科

郭宇燕 孙梅 余磊 沈龙凤 孟祥虎

摘要:密码学课程是信息安全专业的核心课程。根据该课程的特点,对课程存在的问题进行深入研究,在“新工科”建设要求下结合密码学课程的教学实践情况,从教学内容设置、理论教学、实验教学和课程考核等方面进行探讨。

关键词:新工科;信息安全;密码学;理论教学;实验教学

中图分类号:G642.3 文献标识码:A 文章编号:1009-3044(2018)14-0117-03

Abstract: According to the characteristics of the course, the problems existing in the course are studied in depth, combined with the teaching practice of cryptology courses under the requirements of the “new engineering course” construction, the teaching content setting, theoretical teaching, experimental teaching and course assessment are discussed.

Key words: new engineering course; information security; cryptography; theoretical teaching; experimental teaching

移動互联网、物联网、云计算、人工智能、大数据等新一代技术的进步推动了信息社会的不断发展,同时带来了许多信息安全问题。大到国家与社会,小到机构与个人在面临信息安全威胁的同时,更需要复合型、多元化的人才来应对这一局面,这给高校人才培养带来巨大的挑战。2017年2月,教育部在复旦大学召开高等工程教育发展战略研讨会,发布了《新工科建设复旦公示》,“新工科”建设从此拉开帷幕,随着“新工科”的迅速发展,国内各大院校均面临着专业改革和创新问题。“新工科”强调学科的实用性、交叉性与综合性,尤其注重信息通讯、电子控制、软件设计等新技术与传统工业技术的紧密结合。如何培养多层次、多规格、且具备多学科知识和复合型技术的信息安全人才是改革的重点。密码学课程是信息安全专业的重要专业基础课,是一门融合计算机、数学以及通信等学科的交叉课程,如何在“新工科”背景下进行合理化教学更需要深入探讨。

1 密码学课程特点

密码学是信息安全领域的核心技术之一。目前国内外许多高校的信息安全及相关专业均开设了密码学课程。该课程是信息安全及相关专业的一门重要的专业基础课,在信息安全知识体系中占据重要的地位,其主要特点如下:

(1)覆盖内容较多,涉及丰富的数学知识[1]。

作为一门综合性课程,和计算机、通信工程以及数学等多个领域的知识有关联。密码学的研究内容决定了该课程的交叉性和广泛性,该课程主要包含古典密码学、对称密码学、公钥密码学、hash函数、数字签名、密钥管理、公钥基础设施、身份认证、网络安全协议等。同时该课程涉及丰富的数学知识,如数论、图论、信息论、椭圆曲线、概率论、数理逻辑等。因此,跨度大,知识多是这门课程最主要的特点。

(2)实践性较强。

密码学研究的目的是为了解决日常生活中存在的安全问题,保证信息的机密性、完整性、认证性以及不可伪造性。信息的处理离不开计算机,为了保证信息的安全,需要用计算机实现密码学中的各种算法,这就与计算机技术紧密联系在一起。因此,密码学是一门实践性较强的课程[2],在掌握理论知识的基础上必须深入实践才能把该课程学好。

(3)技术、知识更新速度快。

纵观密码学发展史,不难发现,在每个时期,密码学都能融合该时期的先进科技。从古典密码到对称密码、公钥密码,密码学技术不断更新。尤其在近几十年内,密码技术发展更加迅猛,新的密码技术如量子密码、混沌密码等也如雨后春笋般涌现。因此,该课程内容需和密码技术的发展同步,并及时更新最新算法和相关知识。

2 密码学课程建设存在的问题

与许多课程一样,密码学课程的建设存在许多不足,教学方法和手段也不完善,主要存在以下几个方面的问题:

(1)理论过多,实践较少,教学方式单一。

密码学是一门实践性较强的课程,且涉及内容较多,但目前很多高校以理论教学为重,不重视甚至忽略实践教学。对于密码算法只从理论层面介绍,并没有通过实践让学生深刻理解算法的实际功能和具体应用,也不能很好地培养学生解决实际问题的能力。在教学方式上,往往采取灌输式教学方法,一味灌输大量的概念和算法,让学生感觉到枯燥,学习兴趣不高。

(2)理论结合实践的教材较少,教材内容偏老旧。

虽然市面上已出版许多密码学教材,但是有许多教材偏重介绍密码算法,也有许多教材偏重密码技术的应用。但理论结合实践的教材较少,很难找到一本内容较全面的教材。密码学的许多理论和技术涵盖范围广,并且随着物联网、云计算以及大数据等技术的不断发展,新的安全问题也随之而来。为解决这些安全问题,相关的密码学理论和技术应运而生。但目前我国在密码学教学方面投入的师资力量有限,教师没有精力对教材进行及时更新,教材内容偏老旧。因此,选择或者编纂一本既有深度又有广度且理论联系实际的教材是一项非常重要工作。

(3)学生参与度低。

由于密码学课程的教学方式单一,主要以传统教学方法为主。该课程涉及许多数学知识和晦涩的证明方法,一方面学生对先修课程掌握不牢,一知半解;另一方面教师灌输式教授理论知识,学生普遍有畏难情绪,课堂氛围不活跃,学生参与度低,教学效果差。

(4)采用常规考核方式。

课程考核是检验学生学习效果的主要手段,有效的考核机制能大大提高教学质量。但常规的考核方式主要以闭卷考试为主,仅仅考查学生理论知识的掌握情况,缺乏对学生动手能力的考查。这与“新工科”强调学科的实用性相悖。另外,密码学课程涉及理论知识多、实践应用强,因而采用布置课后作业和 “一考定成绩” [3]的方式不适于考核学生对这门课程真正的掌握程度,更不能很好地调动学生学习的主动性。

3 密码学教学内容设置

为了适应信息安全专业培养目标的要求,结合“新工科”培养多元化和创新型人才的理念,密码学课程改革遵循的宗旨为:以数学为基础,以计算机为工具,使学生理解和掌握密码体制设计与分析的基本思想与方法,理解密码产品的基本工作原理,培养学生在实践中解决问题的能力。课程教材可选择谷利泽等人编著的《现代密码学教程(第2版)》(北京邮电大学出版社,2015), 该教材介绍较为全面,基本涵盖了密码学的基本原理和算法,但密码算法相关应用介绍较少。在使用该教材进行理论教学的同时,可选择Bruce Schneier著的《应用密码学:协议、算法与C源程序(原书第2版)》(吴世忠等译,机械工业出版社,2014)作为参考教材,该书提供了大量密码学应用方面的实践内容以及源代码,可以根据学生的知识结构进行适当的实验教学。该课程的主要内容、要求及讲授学时具体设置如下表1所示:

4 密码学教学方法探究

4.1 理论教学

密码学课程涉及的数学知识多,如许多密码算法用到大量代数数论的知识,内容相对枯燥并难以理解,为了提高学生的学习积极性和主动性,以及培养学生良好的逻辑思维和推理能力,在理论教学时采用多种教学方法至关重要。

(1)夯实学生数学基础。

密码学算法依赖很多数学知识,教学中应重视相关数学知识的讲授,在学习课程主要内容前先讲授密码学需要的基本知识点。此外,在授课过程中穿插一些数学知识,如在讲授 RSA 算法时讲授模运算和复杂性理论等,给学生打好扎实的数学基础。

(2)讲清各部分的区别与联系,方便学生掌握和记忆。

密码学涉及很多概念,这些概念对于刚接触这门课的学生来说难以理解和记忆。教师在讲授时应仔细阐述这些概念的区别与联系,如分组密码和流密码的区别、公钥密码和对称钥密码的区别、加密算法和签名算法的区别等。通过详细的讲解与比较,学生能够区分这些内容的不同并能很好地掌握这些知识。

(3)多举实例,提高学生的学习兴趣。

在密码学课程的教学中尽量用通俗的语言、生动的方式以及趣味的故事介绍密码学知识。通过一些典型案例引起学生对网络攻击的警觉,让学生了解密码技术在信息安全中的应用,激发学生的求知欲。通过该课程的学习,能让学生基本掌握密码学的原理、思想以及经典算法,引领学生走进密码技术之门,感受数学应用之美。

(4)教学与科研结合。

教学中要注重与自己的科研工作相结合。平时可以结合自己的科研项目与经历进行教学,并将最新的研究成果带到课堂,将最新的论文与学生分享,让学生知晓密码学研究的最新现状。

(5)采用先进的教学方法。

翻转课堂[4]是近年来教育改革的热点方法,它把教师由知识的灌输者转变为学生自主学习的协助者。采用翻转课堂教学可以很好地提高学生的积极性。在教学过程中,结合密码学热点问题,把翻转课堂的教学方法融入平时的教学中。比如讲授经典的密码算法时,可以提前制作视频,或者到可汗学院、MOOC(慕课)等网站下载相关视频供学生课前学习,教师针对学生在课前学习中出现的问题在课上进行解答,这就與学生之间形成了很好的协作模式。课后让学生通过做练习题、查阅资料等方式对课程外的新知识进行学习,从而拓宽学生的知识面。除了翻转课堂,在教学中还需要不断探索更多的教学方法,提高教学水平,让学生对密码学产生足够的兴趣。

4.2 实验教学

(1)注重实验教学,提高学生操作能力。

密码学实验课程和理论课程同样重要。学生通过实验对密码学算法进行程序实现,这样能更好地掌握加密和解密、签名和验证等密码算法设计的原理和方法。指导学生基于C++或C#等设计实现用DES、MD5移位代换、置换密码等算法进行加解密演示[5]。让学生通过程序设计,更好地掌握密码算法设计的原理和方法,进一步理解密码学在信息安全中的重要地位,了解密码学领域的新方向、新应用。实践证明,实验教学有助于加强学生动手能力和创新能力的培养,锻炼了学生的思维和操作能力,激发了学生的学习兴趣,同时也符合“新工科”驱动下的信息安全专业课程设置的要求。

(2)通过课题设计提高学生实践能力。

培养学生的设计思维,重视创新实践能力培养,多做实验通过课题设计,使学生强化对所学知识的掌握,同时能锻炼学生分析问题的能力。按照密码学课程设计要求,课程设计题目可以结合实际工程应用相关的DES、AES、MD5、SHA-1、RSA、ElGamal密码算法等。将学生分成若干小组,教师将课程设计的题目公布后,各个小组可选择本小组能力范围内可以完成的选题并进行实现和编程。课题设计一方面符合该课程实践性强的特点,另一方面通过该方法可以提高学生学习密码学知识的热情,也能很好地培养学生团体协作精神,对提高学生的实践能力具有重要意义,更契合“新工科”背景下进行“设计思维”养成教育的理念。

4.3 课程考核

为了全面考核学生的知识、能力以及综合素质,应避免“一考定成绩”的做法。可以采用闭卷考试(期末)、平时成绩以及实践考核相结合的综合评价方式,主要评价指标包括:(1)闭卷考试成绩。 主要考核学生对该课程基础知识、基本原理的掌握情况。(2)实践考核成绩。采用基础验证性实验成绩加上综合设计性实验成绩,主要依据实验报告进行评分。(3)课题设计成绩。由于课题设计是分小组完成,在对每个课题小组评分的基础上,对各小组中贡献最大、表现最好的学生成绩的评定应格外注意。依据学生在团队中的贡献和提交的设计报告进行成绩评定。

5 结语

“新工科”背景下的信息安全专业课程改革势在必行,密码学课程是信息安全专业核心课程之一,对该课程改革进行系统的研究意义非凡。通过分析该课程的特点、教学存在的问题,从教学内容的设置、理论教学、实验教学及课程考核等方面进行了详细的探讨,并提出改进方法。

参考文献:

[1] 江明明, 余磊, 肖建于, 等. 信息安全专业中密码学课程的教学研究[J]. 电脑知识与技术, 2017, 13(26): 138-139.

[2] 李梦东.《密码学》课程设置与教学方法探究[J]. 北京电子科技学院学报, 2007,15 (3): 61-66.

[3] 张仕斌. 《应用密码学》课程教学方法研究与实践[J]. 信息安全与通信保密, 2012(7): 77-80.

[4] 邱菡, 张连成, 李玉峰, 等. 基于建构主义和翻转课堂的信息安全专业课程教学[J]. 计算机教育, 2016(2): 69-72.

[5] 蔡增玉, 刘消南, 马琳琳, 等. 基于C#的 “密码学” 实验演示系统的设计与实现[J]. 计算机学报, 2017 (1): 57-59.

猜你喜欢
密码学理论教学新工科
图灵奖获得者、美国国家工程院院士马丁·爱德华·海尔曼:我们正处于密钥学革命前夕
密码学课程教学中的“破”与“立”
面向新工科的Python程序设计交叉融合案例教学
谈外科学教学的几点体会
嵌入式系统课程“中断、异常与事件”教学实践及启示
矩阵在密码学中的应用
密码学的课程特点及教学方法探讨