现代密码学教学实践与思考

摘要:密码技术作为信息安全的核心技术之一,能有效保障信息的私密性、认证性、完备性和不可否认性。结合南京邮电大学信息安全专业教学的实际,讨论密码学课程的教学内容和教学方式;重点讨论了如何采用理论与实践相结合,教学与科研相结合,使得学生在深入理解课本内容的基础上,提高学生的实践水平,并紧跟密码学学科的研究前沿。

关键词:创新型 人才培养 教育模式 问题式教学

中图分类号:G643 文献标识码:A 文章编号:1673-9795(2012)02(a)-0151-02

随着计算机网络的广泛应用和深入发展,信息安全越来越受到社会各界的高度重视,已经成为影响国家安全、经济发展、社会稳定的重要因素。而信息安全技术的核心源于现代密码学,密码理论和技术是保护信息安全的重要手段。因此,各高校普遍把“密码学”作为信息安全专业和信息与计算科学专业的一门基础课程。作为一门交叉性学科,密码学涉及到的数学、计算机科学、复杂性理论、通信理论等众多学科,而密码学课程开设的时间比较短,通常是48学时,在课时不充裕的情况下,教师教起来比较困难,效果不理想。本文通过总结作者近3年来在南京邮电大学讲授密码学课程的教学经验,对密码学课程的教学方法、教学内容进行了探讨和思考,并给出了教学总结和建议。

1 密码学教学内容的实践与思考 1949年,香农发表了题为《保密系统的痛惜理论》这篇经典论文,为密码学的发展奠定了坚实的理论基础,从而使得密码学成为了一门严谨的学科。作为一门比较新兴的学科,密码学在半个世纪的过程中,得到了迅猛的发展,发展成为集数学、计算机科学以及通信与信息系统等多学科一体的交叉学科,涉及到的内容非常广泛。密码学的研究内容决定了它的交叉性和广泛性,这使密码学从不同的方面得到研究,从而得以不断发展。 南京邮电大学在开设密码学课程之前,已经先行开设了离散数学、概率论、组合数学、数论等数学课程,学生已经具备了必要的数学基础。考虑到本科生的实际情况,我们选择了由北京邮电大学出版社出版,谷利泽等编著的现代密码学教程一书,该书是“十一五”国家级规划教材,也是信息安全专业系列教材之一。

密码学教材在内容设置上主要包含两大模块、加密、认证。在功能上来看,密码学教材就是说明如果利用密码学提供的工具;实现信息安全的机密性、完整性、认证性、不可否认性。加密部分主要分为古典密码。对称密码体制和公钥密码体制,除了介绍有代表性的具体的密码算法外,如对称密码体制主要介绍数据加密标准(DES)和高级加密标准(AES);公钥密码体制主要介绍RSA算法、EiGamal算法和基于椭圆曲线密码体制。重点要介绍三种密码体制的设计原理:如古典密码体制的设计存在的缺陷,如密钥过短、明密文和密钥之间关系简单等,从而让学生体会对称密码体制扩散和混淆的设计原理;单向陷门函数在公钥密码算法中的设计体现等;认证部分主要包括数字签名和Hash函数、密码协议等。在数字签名方面,主要以RSA数字签名、EiGamal数字签名和数字签名标准(DSS),以及有代表性的具有特殊属性的签名算法,如群签名、盲签名、代理签名等;Hash函数主要介绍MD5算法和SHAl算法,并结合Hash函数的最新研究现状,介绍目前的Hash算法征集活动算法;而密码协议主要以密钥管理协议、密秘分享协议和认证协议为主。

密码学授课内容涉及的知识背景和应用背景非常多,实践性强,授课时,要让学生始终抓住密码学的作用这条线,将整个的知识体系串起来。在授课的过程中,也注意到密码学主要由密码编码学和密码分析学两部分组成,两部分是互相促进共同发展的,而目前一般的密码学教材都偏重与密码编码学,对于密码分析学则涉及的较少,只是简单介绍有代表性的攻击方法,如差分分析、线性分析等。如何结合密码分析的原理、最新结果对编码学进行讲解是一个值得思考的问题。在我们的教学过程中,对分组密码的分析方法、公钥密码体制的LLL算法、旁道攻击方法都做了较为详细的介绍,并让学生进行编程实现,起到了很好的帮助学生理解编码方法的效果。

2 密码学教学方式的思考

密码学是一门理论知识丰富的课程,所以很多院校的密码学课程一般只是较为完整地介绍密码学的基本理论、技术与应用。教育是大学生掌握基础知识的必要途径。我们知道,目。前我们的教育模式,基本上还在沿用传统的灌输式的教学模式,即“传递一接受”式的一言堂模式。课堂上的教学形式也可以是丰富多彩的,其中包括了做习题,实验等。传统的实验教学多采用常规的实验方法,即要求学生对单个密码学算法进行完全编程实现,比如编程实现DES、AES、RSA、ELGAMAL等加密签名算法,利用PGP软件验证签名等。部分学生将密码学当作数学课来学习,而也有一些学生将其当作政治类的课程进行死记硬背,学习的效果都不会好。这样的教学方式对于提高学生的学习积极性、主动性,培养学生思考问题、解决问题的能力,从而对于培养创新型人才而言是远远不够的,也不能跟上密码学这门学科快速发展的研究前言。

密码学课程是与实践紧密结合的一门课,作为一门交叉学科,也是一门充满活力的课程。我们在《密码学》授课的过程中,始终坚持以学生为中心,坚持课内与课外相结合,科学与人文相结合,理论和实践相结合,教学与研究相结合,结合密码学课程的研究进展,引导学生主动的查阅资料,拓宽其知识面,有目的的提高学生的创新意识、创新精神、创新能力等素质。 南京邮电大学密码学课程共48个学时,不可能在规定的课时内,对授课内容做到面面俱到,课堂上我们深入介绍基本的概念、基本的原理、基本的方法,而对于方法的验证、思考则很多让学生在课下去完成,并以报告的形式对研究结果进行阐述。我们选择了下面几个有代表性与实践紧密结合的点让学生进行研究,以培养学生的学习热情。

(1)分组密码算法的分析与设计。为了让学生更好的理解分组密码算法混淆和扩散的原则,并体会S盒的重要性。让学生课下编程实现DES算法(或AES算法),并记录每一轮的中间结果,以考察在明文或者密钥进行了1比特变化时,通过每一轮的操作,中间结果的变化情况;并通过更改S盒的设置,体验低轮差分分析的攻击效果。

(2)公钥密码算法的实现。课堂上对干大数运算的实现方法进行详细的介绍。课下要求学生不依靠大数库,而是自己利用数组或者链表实现公钥密码体制中涉及到的主要运算,如大数的加、减、乘、除、模幂运算等;从而也体会大数运算的快速实现方法;有条件的话可以让学生体会算法的硬件实现。 (3)口令破解。众所周知,由于用户口令通常采用容易记忆的弱口令,使得对口令的猜测成为可能。一般对登录口令的破解

分为穷举攻击、字典攻击、彩虹表攻击等。穷举攻击效率差,但是成功率较高;而字典攻击效率高,但是成功概率取决于字典的好坏。彩虹表通过时空折衷的方式,通过牺牲空间来换取攻击时间。课下则要求学生分组对三种攻击进行模拟实现,并对于同样的长度的口令,比较三种不同攻击方法的攻击效率。并进一步挑选编程能力好的同学在Hadoop环境下进行密码破解,成立密码破解小组和创新团队,对最新的密码破解技术进行实现和优化,更深入的理解分布式计算分而治之的思想。 (4)轻量级认证协议的设计。在讲述认证协议时,结合目前的无线射频物联网,让学生调研轻量级认证协议设计的最新研究成果和研究方法,并对有代表性的方案就行编程模拟,从而巩固了学生进行网络编程的能力。

(5)可证明安全性的设计理念。可证明安全作为公钥密码学的研究基础,一般的密码学教程并没有做太多的介绍,课堂上我们对可证明安全规约的思想进行详细的介绍。课下让学生分别就Goldwasser、Micali基于二次剩余的可证安全的密码算法和Shoup在离散对数问题啊下的可证安全的密码算法的设计思想进行研究,并提交相应的报告。从而让学生理解教材上介绍的算法只是基本的加密算法,为了能够获得相应的选择密码攻击下的安全性,实际中的密码算法的设计要复杂的多。 (6)密码学的最新研究进展。让学生分组分别就密码学的最新研究进展,如量子密码算法、混沌密码算法、基于属性的加密算法、基于格密码系统、秘密信息检索等问题的研究现状、存在的问题、研究方法进行调研,并做PPT,安排密码学研究进展的主题班会,各小组对自己的调研结果进行汇报交流。

上述问题一般研究周期为2~3周,通过对这些问题的解决,促进了学生学习的积极性和主动性,加深了学生对课堂知识的理解,拓宽了他们的视野,激发学生的求知欲,探索欲,以及克服困难的决心和恒心,取得了较好的教学效果。3结语 密码学课程是一门理论和实践紧密结合的课程,而密码学是一门活跃的、不断快速发展的学科。本文结合密码学可能的教学实践,探讨了密码学的授课内容和授课方式,以使学生对密码学这门课程的理解更加深入,也对这门学科的最新研究现状、研究方法也有了基本的认识和掌握。并且大大提高了学生独立提出问题、思考问题、解决问题的能力。同时必须注意到对计算机密码学的课程教学改革需要不断探索与创新,通过教学内容的改革、教学方法的改进以及实践性教学环节的完善,保证课程的先进性和实用性。

推荐访问:密码学 教学实践 思考