信息安全专业中密码学课程的教学研究
摘要:密码学作为一门数学、计算机科学与通信的交叉学科,是信息安全专业的核心课程,也是数学在信息科学中的重要应用。该文从密码学的特点出发,对密码学课程目前所存在的问题进行分析,并从教材选择、理论教学和实验教学的角度给出自己的几点建议。
关键词:密码学;信息安全;理论教学;实验教学;教学方法
中图分类号:G642.3 文献标识码:A 文章编号:1009-3044(2017)26-0138-02
随着计算机网络的广泛应用和深入发展,电子商务和电子政务以及网络银行和各种移动支付已经成为人们生活的一部分。在方便人们生活的同时,也带来越来越多的信息安全问题。因此,信息安全受到社会各界的高度重视,已成为信息社会急需解决的问题。密码技术作为信息安全的核心技术,获得越来越多的关注。密码学已成为各类高校信息安全专业的核心课程。目前,我国有80多所高校开设信息安全专业,100多所高校开设密码学课程[1]。由于密码学是一门集数学,计算机科学与通信科学等于一身的交叉学科,不同专业、不同学科,在教材的选择、教学内容以及教学方法等诸多方面的认识很难统一,给密码学课程的教学造成诸多困难,同时也是密码学课程教学中值得关注和探讨的问题。
1 密码学课程的特点
1) 密码学所涉及的知识面广,数学基础要求高。密码学课程前期需要学习信息论、计算复杂度和一些数学知识[2]。其中数学除高等数学和线性代数以外,还包括数论、抽象代数、代数编码、概率论、有限域等相关内容,这些数学知识的难度也相对较大。
2) 理论教学和实验教学的侧重点难以把握。由于密码学是一门交叉学科,对于不同专业的学生,学习的侧重点也是不一样的。例如数学科学学院应用数学专业的学生,大多数侧重理论教学,主要讲授密码算法的理论计算,对数学基础要求比较高。而对于计算机学院信息安全专业的学生,又是以实验教学为主,对编程语言和计算复杂度要求较高。
3) 密码学课程本身所涉及的内容较多,学习难度大。密码学的主要内容包括古典密码、对称密码、公钥密码、哈希函数、数字签名、密钥管理、密码协议等。古典密码与对称密码要求学生对置换、代换、有限域方面要深入理解与掌握;公钥密码、数字签名对数论、概率论方面要求又比较高。对于其他的内容,主要是一些密码应用等,则要求灵活使用公钥密码、数字签名、哈希函数等。
4) 密码学知识更新速度快。自从1978年麻省理工学院的Rivest、Shamir和Adleman三人提出RSA公钥密码算法以来,密码学家又提出Rabin、Elgamal、ECC、NTRU等经典的公钥密码体制。近年来,由于其他学科的进步与发展,又出现一些新的密码技术,如量子密码、混沌密码、DNA密码等。
2 密码学课程所存在的问题以及解决方法
2.1 教材选择
密码学教材种类繁多,而作者编写教材的侧重点也不相同,有的侧重于密码算法的介绍,有的侧重于密码技术的应用。不同学科专业学生的基础不同,在选择教材方面也有所差异,并且前置基础课程与培养目标也存在差异,所以选择教材的时候要充分考虑前置课程的安排和培养目标的设置。对于理科专业,如数学专业,应该选用理论性较强的教材,而对于工科专业,如通信专业,信息安全专业,应该选择实践性较强的教材。
2.2 理论教学
目前大多数高校的密码学教学是以理论讲授为主,配合多媒体演示。理论教学是密码教学的主要手段。而密码学是一门交叉性很强的学科,课程所涉及的内容很多,各个知识点之间既相互独立又联系紧密。面对信息安全专业密码学课程这些特点,如何转变教学理念、创新教学思路、找准教学放方法,是密码学课程理论教学关键。
2.2.1 教学理念
密码学课程内容多,算法的逻辑推理性强,学生难以掌握所有的算法。密码学课程的教学理念不应该是让学生记住密码算法,而是培养学生正确的密码学思维方式,使学生理解密码学的设计思想。如:分组密码算法的设计思路是使用置换密码与代换密码的组合,利用迭代的方式产生,在设计的过程中要满足混淆与扩散原则;公钥密码体制的设计则是按照形式化的定义、精确的安全假设与严格的安全性证明三个原则来设计。为实现这个教学目标,需要在各章节详细介绍少量经典的密码算法,使学生了解每一步算法的来龙去脉与密码学家设计密码算法的思路,这就要求老师对密码学所涉及的内容融会贯通,并且深刻理解密码学的设计思路与精髓。
2.2.2 教学思路
对于主流的密码学教材,主要内容一般包括古典密码、对称密码、公钥密码、哈希函数、数字签名、密钥管理、密码协议等[3]。这些内容表面上看起来是松散的,实际上是紧密相连的要使学生能够清晰地理解并掌握这些内容,首先要有明确的教学思路。密码技术是信息安全的核心技术,能够实现消息的保密性、完整性、认证性、不可否认性等安全属性,这些安全属性是整个密码学知识体系发展的出发点和归宿。可以按照这个思路建立密码学知识结构的基本框架模型,然后进行讲授。
2.2.3 教学方法
传统的教学方式是老师在讲台上讲,学生在下面听、记笔记。这种方式只能让学生记住所讲授的密码算法,而无法使学生理解密码学的思想。对于不同的教学内容应该采用不同的教学方法,如互动启发式、小组讨论式等方法,这些方法可以让学生主动参与到教学活动中[4]。还要留给学生充分的思考空间和时间,让学生在思考的过程中形成主动探索、分析问题和寻求解决问题方法的习惯。
1) 互动启发式教学。互动教学方法是大多数课程所讨论并采用的教学方法,可以让学生参与到问题的解决过程中。孔子曰:不愤不启,不悱不发,强调的就是学习的启发式教学。启发式教学的关键是调动学生的学习积极性,激发学生的学习兴趣。很好地运用互动启发式教学方法,可以培养学生分析问题、解决问题的能力,通过经历问题的解决过程,激发学生的自主学习热情,提高学习兴趣。例如,在讲授序列密码时,讲到序列密码的安全性是由種子密钥所产生密钥序列的性质决定的,可以通过互动启发式方法,让学生思考:密钥序列具有何种性质才能保证安全性?是否满足随机性和不可预测性就安全了?密钥序列和种子密钥之间有什么关系?通过解决问题,使学生理解序列密码的设计思想。
2) 小组讨论式教学。小组讨论式教学方法可以开拓学生的思维,提高学生的创新能力,使学生尝试从不同的角度与观点来解决问题,而且还可以培养团队合作能力。密码学对学生而言是陌生的,而密码思想更是学生所欠缺的。通过小组讨论,能够使学生从自身角度思考密码算法满足安全性的条件,以及明文、密文与密钥之间的关系,密文统计特性应满足的概率分布等问题。通过小组讨论并不一定能达到完全解决问题的目的,但是这种方法极大的开拓学生的思维,提高学生的创新能力,并且可以使學生深刻理解密码学的设计思想。
2.3 实验教学
密码技术是解决信息安全问题的核心技术,密码学的特点决定它是一门实践性很强的课程。实验教学环节能够使学生在理解算法原理的基础上进行程序设计,并根据需要进一步进行综合设计,提高学生的综合应用能力。目前,在密码学课程的实验教学方面,还存在密码实验工具选择不合理与密码实验项目类型不明确的问题。
1) 密码实验工具的选择。密码实验工具一般包括密码分析软件、密码实验教学软件、密码设计软件、密码算法的代码库等。在密码实验教学之前要确定密码实验的工具。当前,密码学的实验教学中大都要求学生运用计算机语言实现一些经典的密码算法,而密码学实验教学的目的是加强学生对密码算法的理解,以及掌握密码算法在信息安全中的应用,不是简单地锻炼学生的编程能力,这种做法很难提高学生的综合素质。密码学课程的实验教学应根据实验要求选择密码实验工具,才能体现密码学实验教学的目标。比如对于古典密码算法,这些密码算法已经被破译,对于学生来说只起到一个借鉴的作用,因此可以选择具有验证和分析作用的密码工具。CAP4软件就是一款合适的密码分析软件。对于DES,AES等对称密码算法,其加密流程比较复杂,学生难以理解。这时可以选择具有可视化功能的密码工具,CrypTool的可视化演示功能能够使学生更好的理解加解密运算的每一个流程。对于算法设计,不能只把实验项目给学生之后,让学生去编写代码。应该引导学生使用密码算法库,例如OpenSSL、Miracl、Boten,NTL等[5]。
2) 密码实验项目与类型的确定。实验项目类型一般分为演示或验证型、设计或综合型、研究或创新型三个层次。合理安排实验项目类型可以加深对密码算法的理解以及提高创新能力。目前,多数高校的密码学实验项目类型都是简单的验证,老师在教师机演示,学生在学生机重新验证一遍。或者项目类型都是设计型,老师把实验项目发给学生,让学生自己编程。这两种简单的方式都不能很好地提高学生的综合能力。因此,密码学的实验类型要由实验项目来确定。安排密码实验项目时,应该由浅入深,首先安排简单的验证项目,比如古典密码算法,其次安排综合型项目,如RSA的实现等,最后安排研究型项目。研究型项目由老师确定一个具有新颖性和创新性的实验项目范围,由学生根据兴趣自主选题。研究型项目选题可以依托学科竞赛来确定,比如全国大学生信息安全竞赛等。
3 结束语
密码技术是信息安全的核心技术,密码学也是信息安全专业的核心课程,研究密码学课程的理论与实验教学有着重要的意义。在信息安全专业密码学理论与实验课程,以及密码学前置课程的多年教学实践的基础上,结合信息安全竞赛的一些经验,针对信息安全专业密码学教学在教材选择、教学理论和实验教学方面存在的问题,从教学理念、教学思路和教学方法三个方面给出教学改进方案,教学实践表明这些改进方案能够取得更好教学效果。
参考文献:
[1] 王后珍,张焕国. 密码学课程建设及教学方法探讨[J]. 高教学刊,2016(7):79-79.
[2] 丁勇. 信息与计算科学专业密码学教学研究[J].桂林电子科技大学学报,2008,28(2):131-133.
[3] 李梦东. 《密码学》课程设置与教学方法探究[J].北京电子科技学院学报,2007,15(3):61-66.
[4] 贾伟峰,杨礼波. 密码学的课程特点及教学方法探讨[J]. 华北水利水电学报:社科版,2010,26(3):169-170.
[5] 申丽君,王金双,陈融,等.CrypTool在密码学教学中的应用[J]. 计算机工程与科学,2014,36(A1):208-211.
上一篇:素数的分布与几个素数猜想浅谈
下一篇:医用加速器机房辐射防护改造措施