翻转课堂在Diffie-Hellman密钥交换协议教学中的应用
2020-06-04蒋静李高仕
蒋静 李高仕
摘 要: Diffie-Hellman密钥交换协议是密码学中一个非常重要的内容。对于学生来说,协议的主要内容较容易理解,但其安全性的证明却较难。针对此特点,将翻转课堂的教学模式应用于此协议的教学中:一方面,学生通过观看视频和完成作业,可以有效地学习此协议的主要内容;另一方面,学生通过课前思考和教师的课堂讲解,能较好地理解此协议安全性的证明。
关键词: 翻转课堂; 密码学; Diffie-Hellman密钥交换协议; 教学改革; 安全性
Abstract: The Diffie-Hellman key exchange protocol is an important content in Cryptography. It is easy to get the main results of the protocol for students, but it is difficult to understand the proof of the security of the protocol. Therefore flipped-classroom is used in the teaching of the protocol: On one hand, students can get the main results by watching the related video and doing related homework; On the other hand, by pondering over the related problem before the class, and listening teacher's explanation in the class, students can better understand the proof of the security of the protocol.
Key words: flipped-classroom; Cryptography; Diffie-Hellman key exchange protocol; teaching reform; security
0 引言
随着计算机和通信网络迅速发展,信息的安全性越来越受到人们的重视。密码学是信息安全专业本科生的一门必修课。该课程将经典密码体制传授给学生,使学生对密码学的概念和体系有比较清晰和完整的了解。该课程的学习将为后续的信息安全课程打下基础,同时也为将来从事信息安全研究和安全系统的设计提供必要的基础。
翻转课堂起源于美国。Jon Bergmann在2007年为了解决学生迟到或旷课问题,将课程的内容录制成教学视频。首先,他让学生在家观看视频。其次,让学生在课堂上完成与视频相关的作业。最后,讲解学生尚未完成的作业并解决学生在观看视频时出现的问题。这种“学生回家自学,课堂上解决问题”的方式对教学产生了积极影响[1],因此引起学校、家长和社会各界越来越多的关注,并在更大范围内传播开来。许多教师开始将翻转课堂教学模式应用于科学、数学、技术、社会和外语等课程中,并成立了一个翻转课堂联盟组织[2-4]。
翻转课堂教学模式最早在美国的中小学实施,后来在高校流行。例如,迈阿密大学计算机科学和系统分析系的Gerald C.Gannod、Janet E.Burge和Michael T. Helmick等三位教师在他们所教授的“软件工程”、“数据结构”、“程序设计基础”等课程中使用了翻转课堂教学模式。波多黎哥大学马亚圭斯校区(UPRM)工程学院通用工程系副教授Christopher Papadopoulos、Aidsa Santiago-Rom和GenockPortela在“静力学”课程中实施翻转课堂[5]。
1 Diffie-Hellman密钥交换协议
密钥协商协议是指通信的参与者可以在一个公开的信道上通过相互传送一些消息来共同建立一个共享的密钥。最早的密钥协商协议是由Whitfield Diffie和Martin Hellman[6]在1976年提出的,该协议仅支持两个参与者。Diffie-Hellman密钥交换协议的主要内容如下:
假设通信的参与者为U1和U2。选取一个大素数p,α是Zp的一个本原元,并且公开p和α。
步骤一:用户U1随机选取一个数a1,其中1?a1?p-2,并计算。
步骤二:用户U2随机选取一个数a2,其中1?a2?p-2,并计算。
步骤三:用户U1将b1发送给U2,用户U2将b2发送给U1。
步骤四:用户U1计算,并将此结果作为密钥。
步骤五:用户U2计算,并将此结果作为密钥。
2 翻转课堂教学设计
2.1 课前学习
教师把以上内容制作成视频,让学生课前观看。在观看视频前,将学生分为若干个小组,每个小组4-5人。学生可以根据自己的实际情况,选择观看的时间,更有利于学生掌握知识。同时,为了让学生更好的理解此协议,给出以下几个问题供学生思考。
问题⑴ 用户U1和U2所得的两个密钥是否相同?即与是否相同?
问题⑵ 讨论此协议的安全性。
对于问题⑴,由于因此用户U1和U2所得的两个密钥是相同的。对学生而言,只要稍加思考,同时将和带入到所得的密钥中,即可得到答案。因此,问题⑴对于学生来说是比较简单的,大部分学生都能回答此问题。
对于问题⑵,攻击者至多能截获密文b1和b2。由于p和α是公开的,且密钥为因此,攻击者只需得到a1或者a2,就能通过计算得到密钥。显然即攻击者想要得到a1或者a2,就必须求解上述有限域上的离散对数问题,而此问题是一个难解问题。故Diffie-Hellman 密钥交换协议的安全性是基于有限域上的离散对数问题的难解性。在学习本协议之前,学生已经学习过ElGamal密钥体制。此密钥体制的安全性是基于有限域上的离散对数问题的难解性。对于熟练掌握了ElGamal密钥体制的学生来说,通过认真的推敲和计算,是可以回答此问题的。而對于其他的学生,这个问题是比较难的,必须反复观看视频,并和同小组的学生一起讨论,才有可能得到最终的答案。
2.2 課堂教学
首先,在课前学习阶段,学生已经观看过Diffie- Hellman密钥交换协议的相关内容。其次,通过分组讨论并解答教师给出的两个关于协议的问题,学生对此协议有了更进一步的了解。在课堂教学环节,教师应让每个小组的组长提交本小组学生尚未解决的问题,也可以提交与此协议相关的尚未解决的疑问。
在收到学生提交的问题之后,教师可以将问题在课堂上提出,并让全班学生思考。学生们通过思考这些问题,能加深自己对本协议的理解。最后,教师再一一解答这些问题,并给出对每个小组的评价。
2.3 实验教学
由于Diffie-Hellman密钥交换协议的算法较简单,因此我们可以利用C语言来实现。实验要求如下:
学生以小组为单位进行讨论并编写程序。此实验的关键点在于已知素数p的条件下,如何求得本原元α。对于一般的素数p,想要求得本原元α是很困难的。我们注意到,实验中要求的素数p较小(p?100),因此我们可以利用穷举搜索的方法求得本原元。对本原元的知识不熟悉的同学,可以通过小组讨论以及编写程序的过程,加强对本原元的知识的学习,同时也能更好的掌握Diffie-Hellman密钥交换协议。
3 结束语
在本文中,我们将翻转课堂的教学模式应用到密码学中的经典密钥交换协议的教学中,不仅可以促使学生利用课前时间对协议的基础知识进行自主学习,而且可以让学生在观看视频的时候进行独立的思考,从而调动了学生的学习积极性。另一方面,为了理解协议安全性的证明,学生会在课前积极思考,并带着问题到课堂上,通过教师的讲解,逐渐理解证明的过程及原理,从而提高了学习的效率。本文所用方法也适用于密码学中其他一些知识的教学中,比如古典密码体制、公钥密码体制等。
参考文献(References):
[1] Sams A. The Flipped Classroom[A]. 242nd NationalMeeting of the AmericanChemical-Society (ACS)[C].Denver,2011.
[2] Fulton K. Upside Down and Inside Out: Flip YourClass-room to Improve Student Learning[J]. Learning & Leading with Technology,2012.8:12-17
[3] BergmannJ,Sama A. Flip Tour Classroom[M]. America,International Society for Technology in Education,2012:21-55
[4] Katie Ash. Educators Evaluate `Flipped Classrooms'Benefits and drawbacks seen in replacing lectures with on-demand video[J]. Education Week,2012.10:6-8
[5] 何朝阳,欧玉芳,曹祁.美国大学翻转课堂教学模式的启示[J].高等工程教育研究,2014.2:148-151
[6] Diffile W, Hellman M. New Directions in cryptography[J].IEEE Transactions on Information Theory,1976.22(22):644-654