谢冬 洪媛
摘要:密码学是一门集计算机科学、数学以及信息论等诸多学科于一身的交叉学科,对于不同类型的高校此课程的教学方法也应有所不同。首先从密码学学科的本质出发,分析了密码学课程的基本特征。其次,对密码学课程教学活动中普遍存在的问题进行了总结。最后,从课程内容、教学方式以及科研思维等不同的角度,阐述密码学课程教学的探索与思考。
关键词:密码学;学科交叉;趣味性教学;实践性教学;科研型思维
中图分类号:TP309.7 文献标识码:A
文章编号:1009-3044(2019)21-0162-02
开放科学(资源服务)标识码(OSID):
Abstract: Cryptography is an interdisciplinary subject which integrates computer science, mathematics and information theory. The teaching methods of this course should be different for different types of universities. Firstly, starting from the essence of cryptography, the basic characteristics of cryptography course are analyzed in this paper. Secondly, the common problems in the teaching of cryptography are summarized. Finally, this paper expounds the exploration and thinking of the teaching of cryptography from different perspectives such as course content, teaching methods and scientific research thinking..
Key words: cryptography; interdisciplinary; interesting teaching; practical teaching; scientific research thinking
1 引言
随着信息时代的到来,互联网已经成为人们日常生活中不可缺少的重要工具。然而,近些年来不断涌现一大批恶意的攻击者,其以窃取他人隐私信息为目的从而达到个人经济或政治目的,互联网的安全问题日益突出。2014年2月,习总书记在中央网络安全和信息化领导小组第一次会议上首次提出“网络强国”的战略方针,并指出“没有网络安全就没有国家安全”。网络空间已全面渗透到军事、经济、政治、文化等领域,成为国家的重要战略资产。
作为信息安全、网络空间安全等领域的基础核心技术,密码学为计算机网络数据的完整性、机密性、认证性以及不可否认性提供了理论方法与基础保障。密码学包括密码编码学和密码分析学两个部分,其是一门集计算机科学、数学以及信息论等诸多学科于一身的交叉学科。近些年来,一些学者对密码学课程的教学方法进行了研究[1-5]。本文以安徽师范大学计算机与信息学院的密码学课程教学为例,笔者总结了密码学课程的基本特征,分析了目前密码学课程教学活动中存在的普遍问题,探究了密码学教学的基本方法。
2 密码学课程的基本特征
2.1 学科的交叉性
学科的高度分化可以促进“高精尖”成果和技术的产生,不同学科之间的相互渗透、交叉和融合可以突破单一学科的局限性。密码学是一门交叉学科,其内容繁多,覆盖面较广。
学好密码学课程的前提条件是需要学生掌握基础的数论、代数等数学知识,如RSA加密需要理解快速模指数算法[6],椭圆曲线密码需要理解椭圆曲线理论及其上的点加运算[6]。能够编程实现一些重要的密码算法与协议是用好密码学的前提,此外还需结合具体的环境使用不同的密码技术来提供安全服务。
2.2 内容的枯燥性
与其他计算机类课程相比较,密码学具有一定的枯燥性,其主要原因是密码学对数学的要求较高。例如在讲解仿射密码体制c=aP+b mod n时,a需满足(a,n)=1。其原因是解密时需要求a-1mod n,当(a,n)=1时a的逆元才存在。可證明安全理论可以从理论上证明密码算法或协议达到的安全级别,其普遍的证明方法是采用数学的反证法,即若存在一个敌手能够攻破提出的算法,则可以构造一个敌手攻破某个数学难题[7]。
2.3 教学的实践性
密码学能够提供数据完整性保护、数据源的认证以及消息的机密性等安全服务,其能够为易受攻击的开放网络环境提供安全保障。作为支撑信息安全、网络空间安全等学科的基础安全技术,密码学的教学具有很强的实践性。例如基于基础的加密与密钥协商算法,传输层安全协议(Transport Layer Security,TLS)能够保护传输层数据的安全传输。同时,密码学也促进了新方向、新技术的发展,如比特币挖矿机制的设计是基于密码学哈希函数的单向性。因此密码学课程的教学不应局限于基础算法与协议,还应强化其实践性。
2.4 学习的重要性
密码学与国家安全密切相关,不仅涉及国家政治、军事和经济各个方面,而且影响到国家的安全和主权。密码学是防止个人信息泄露的重要技术,也是实现快捷支付的重要手段。实际上,密码学已经融于人们生活的各个方面,大到国家宏观政策的制定,小到个人隐私的保护,其重要性不言而喻。
3 密码学课程教学中普遍存在的问题
3.1 教学内容与前沿介绍,陈旧落后
现有大多数密码学教材的内容大体包括古典密码、数学基础、分组密码、序列密码、公钥密码、认证理论与协议以及密钥管理等部分。这些传统的密码学技术为各种复杂系统与开放的网络通信提供了安全保障。然而,当今社会对密码学高级人才的需求要求学生掌握一些常用的前沿技术,如能抵抗量子攻击的后量子密码、基于DNA计算的DNA密码以及基于密码安全的区块链技术等等。
3.2 理论教学与实践训练,顾此失彼
国内开设密码学专业的高校并不太多,开设主体的二级学院也并不完全一样,大体可以分为三类:计算机、网络空间安全以及数学学院。不同学院的专业基础知识以及逻辑思维具有差异性,教师上课的侧重点也不尽相同。例如数学学院的密码学课程一般侧重理论知识,而忽略了密码学的实践性特征。计算机学院的密码学课程往往侧重于实践能力,而忽视密码算法所蕴含的数学理论与思想。
3.3 自主探索与创新能力,培养不足
在面对一些比较复杂的算法时,教师往往侧重对其具体执行过程的解读,而忽略了其设计的基本思想,不利于对学生自主探索与创新能力的培养。例如在讲授DES(Data Encryption Standard)算法时,教师往往花费较长的时间讲述其步骤,而忽略了其设计思想,更没有引导学生进行深入地独立思考,例如为什么2DES不能克服DES密钥短的缺陷,为什么3DES采取EDE模式来进行加密。
4 密码学教学方法的探索与分析
4.1 掌握课程内容的内在逻辑,帮助学生理解本质
掌握密码学课程的内在逻辑,有利于密码学课程的教学。密码学课程教材内容的编排是符合其学科历史发展规律的。古典密码学讲述的是1949年之前应用于政治军事领域的传统密码术,其内容主要是针对英文字母的置换和替换加密方法。1949年至1976年的近代密码学的研究内容主要是分组密码、流密码等体制。由于对称密码体制密钥管理等问题,Diffie和Hellman于1976年提出了公钥密码的思想,标志密码学进入现代密码学阶段。
4.2 加强教学方式的生动趣味,吸引学生自主学习
将趣味性贯穿到整个教学活动中,有利于吸引学生的注意力,培养其自主学习的能力,克服学习密码学理论知识的枯燥性问题。例如在讲授欧拉定理时,若教师直接讲解其理论知识,则对于非数学专业的学生会觉得枯燥无味,逐步会丧失听课的兴趣。若教师并不直接讲述此定理,而是一开始抛出一个大家感兴趣的问题——7222的个位数是多少?很明显类似这样的问题经常在一些奥赛题中出现,但似乎又无从下手。但是欧拉定理可以完美地解决此问题,这样教学效果就会好很多。
4.3 推行教学过程的融合机制,促进学生知行合一
折中考虑密码学课程的理论性与实践性特征,有利于培养学生学以致用的综合能力。教师需用趣味性的方法讲解理论知识,用生动的语言刻画其基本思想。遵循“先理论后实践”的基本教学方法,理论知识促进学生实践活动,实践活动能加强学生理解理论知识,两者相互促进,相互发展。例如在讲解RSA算法时,先讲解其加密原理,后以实践的方式探究其在不同模式下的攻击方法,让学生编程自行完成。
4.4 熟悉密码学科的前沿方向,拓展学生思路视野
熟知近些年密码学的学科前沿发展动态,有利于拓展学生的知识视野。教师在讲述教材的基础内容时,需强调教学内容知识的局限性,并对比分析教学内容和相关前沿知识的区别与联系。如在讲授RSA公钥算法时,应说明尽管现在很多场合都在使用此算法,但其不能抵抗量子计算机的攻击,并引导阐述能够抵抗量子计算机攻击的密码体制,以此培养学生的发散性思维。
4.5 探索教学模式的科研思维,培养学生学术创新
运用科研的思维方法进行教学,有利于激发学生的创新意识,培养学生的学术能力。教师在教学活动中应大力训练学生的科研思维,不能再一味地沿用传统的“填鸭式”教育模式。首先,在课堂上教师应留给学生充足的时间独立思考,通过发散性进行独立创新。其次,对于有疑问的难题,应引导学生进行查阅文献,培养其自学能力。最后,应留有专门的时间展开知识讨论,并形成结论。
5 结论
本文首先探讨了密码学课程的基本特征以及其教学所面临的基本问题,然后分别从学科内容、教学方式、学科前沿以及科研型思维等方面,对密码学课程教学方法进行了简单的讨论。笔者所在教学团队属于网络与信息安全安徽省重点实验室,近些年来一直负责密码学课程的教学工作。在今后的教学过程中,我们将继续努力提高专业人才的综合能力,为国家密码学人才的培养做出一点贡献。
参考文献:
[1] 闫玺玺, 叶青, 汤永利. “现代密码学”课程任务驱动式教学内容的设计[J].科技视界,2016(27):86-87.
[2] 李梦东.《密码学》课程设置与教学方法探究[J].北京电子科技学院学报, 2007,15(3):61-66.
[3] 张瑞霞,唐成华,唐麟. 密码学实验教学改革应用实践[J].计算机教育, 2013(5):68-71.
[4] 邢宇航,李敏,过惠平,等. 密码学课程教学中的“破”与“立”[J].计算机教育,2019(3):29-31.
[5] Katz J, Lindell Y. Introduction to modem cryptography[M]. Florida: CRC Press,2008.
[6] 馮登国. 可证明安全性理论与方法研究[J].软件学报,2005(10):1743-1756.
[7] 魏悦川,韩益亮. 计算机密码学课程的混合式、参与式教学研究与实践[J].计算机教育,2019(3):27-29.
【通联编辑:王力】