密码学课程的科研方法论教育探究
2018-12-25窦本年许春根
窦本年,许春根
(南京理工大学 理学院,江苏 南京 210094)
0 引 言
如何培养大学生的创新能力是当前和未来一段时间高等教育的一个重要和紧迫的课题。本科阶段是学习方式由教师传授为主向自我学习为主的转化阶段,此阶段虽以学习知识为主要目的,但也要求本科生逐步获得探索世界、独立解决问题的能力。
对本科生进行必要的科研方法论教育无疑对培养本科生的创新精神和创新能力极其重要。因此,在课程教学中挖掘学科体现的科学思想和研究方法,并以这些思想和方法引导学生的课程和专业学习,甚至培养科研创新能力具有重要的意义。
科研方法论能为本科生提供必要的研究方法和技能,对本科生了解科学研究的过程、为今后从事科学研究提供方法上的准备[1]。2009年,张伟刚教授提出并设计了“问题三层次分析法”和“科研三阶段训练法”研究性教学模式, 并指出在大学研究性教学中,让大学生掌握基本的科研方法、参加一定的科研训练,对大学生科研素质的养成及科研能力的提高具有重要的现实意义[2],张伟刚教授一直致力于科研方法论的教学实践,目前主持国家级精品课程科研方法论。2014年,杨云松等人探讨了在医学院校中进行科研方法学课程的教学改革与实践,提出“只有掌握方法学原理才会真正具备科学思维”的理念,并在实践中采用“从具体案例导入到抽象原理引出”的教育模式[3]。2016年,王艳滨在科研方法教学中为了避免传统教学模式的不足,提出任务型教学模式,任务型教学以学生为中心、以任务为导向,教师作为指导者和资源提供者;任务型教学可更好地实现教学目标[4]。2017年,邱宏等人对于基于研究性教学的科研方法教育在培养拔尖人才方面进行了实践,取得显著的成果[5]。
随着计算机网络的广泛应用和深入发展,网络信息安全越来越成为影响国家安全、经济发展、社会稳定的重要因素,已成为国家安全的一个重要方面。信息安全的基本目标包括实现数据的机密性、完整性、认证性、不可否认性等要求。现代密码理论和技术是实现这些信息安全目标的重要技术和理论核心[6]。
密码学是各类高等院校本科生信息类、数学类、计算机类等专业竞相开设的重要选修课,也是信息安全专业的主干基础课。密码学及相关课程被引入信息安全专业以及其他相关专业的时间不是很长,但各高校教师对密码学课程内容的设置、教学方法的改革及教材建设进行了有益的探索,取得了丰硕成果[7-10]。笔者所在教学团队自2005年起一直负责南京理工大学密码学课程的教学工作。在教学中,笔者团队积极吸取各兄弟院校密码学课程教学的经验,也积极探索密码学课程的教学改革和教学实践。
1976年后的现代密码学虽然历史不长,却不断有重大理论的突破。这些理论突破体现了丰富的科学研究思想和方法,使密码学课程非常适合讲述一些重要的科学思想和研究方法。这几年笔者团队的主要工作是结合密码学课程的教学,进行科研方法论教育的探索和实践。
1 问题驱动(Problem-based)的理论发现和创建
密码学中一些重大理论发现或方案的创建都来源于对一些实际问题的思考和解决,可以说,理论来源于实际,且具有直观的实际背景。
1.1 基于身份的密码学的诞生
在传统的基于PKI(Public Key Infrastructure,公钥基础设施)的公钥密码系统中,每个用户有一对密钥(pk,sk),其中pk是公钥,sk是私钥。用户在使用自己的公钥pk前需要CA(证书颁发机构)对自己的公钥pk进行签名,产生公钥证书以保证公钥的合法真实性;另外,CA还要运行并管理一个含有用户公钥证书状态的网站。这样就导致基于PKI的公钥密码系统密钥管理复杂,实现代价高。1984年,著名的密码学家Shamir为了解决公钥管理的复杂性,提出了基于身份的公钥密码学概念。在基于身份的密码方案中,用户的公钥可以是任何能唯一对应用户身份的字符串,这些字符串可以是用户的电话号码、身份证号码或E-mail地址等。很显然,若基于身份的公钥密码学能够实现,将大大降低密钥管理的复杂度。18年后,也就是2002年,Boneh等人利用配对实现了基于身份的加密方案。此后数年,密码学迎来了一个研究爆发期,大量的各种基于身份的密码方案被提出来。
1.2 训练案例
密码学中还有许多密码方案和理论(如健忘传输协议、抗量子密码方案、各种数字签名方案)像基于身份的密码学一样,是基于解决实际问题而创建的。 学生在接触和理解这些理论和方案后,会领会一个重要的科学思想:密码学很多理论和方案都是问题驱动的。授课教师可以利用一些教材中未出现的方案进一步引导学生思考,进而加深这一理解。笔者团队在课程教学中曾经让学生思考如何对电子投票进行签名而不泄露投票内容且不能追踪投票者身份。首先让学生考虑,若是纸质投票将如何办到,学生经过讨论提出一些解决方案。最后,告诉学生盲签名(Blind signature)就是为了完美地解决这一实际问题而产生的。
2 规约(Reduction)——高层到低层的思维
2.1 密码方案的安全性规约证明
自然科学研究中常常会把复杂问题的解决规约成一个或几个更容易解决的问题。20世纪数学最大的成就是费马大定理的证明。为了证明费马大定理,数学家将之规约为与之等价的“谷山—志村猜想”,英国数学家 Wiles通过证明“谷山—志村猜想”最终证明了费马大定理。密码学中处处体现着规约的思想。
现代密码学的一个主要特点是有形式化的定义,精确的假设和安全性证明[11]。现代密码学要求在设计方案时将方案的安全性规约到一个数学难题或归结到已有的安全方案。这方面的例子有教科书式Rabin密码体制的IND-CPA(Indistinguishability under chosen plaintext attack,选择明文攻击下的密文不可区分性)安全可规约到大整数分解的难题;设计安全性高的ID-CCA(Indistinguishability under chosen ciphertext attack,选择密文攻击下的密文不可区分性)安全的公钥加密方案可规约到安全性要求稍低的IND-CPA安全的公钥加密方案。
2.2 对称密码学的存在规约到单向函数的存在
伪随机生成器、随机函数、消息认证码、伪随机置换、对称加密以及消息认证码都属于对称密码学的范畴。从密码学课程可知有如下重要结果:所有这些对称密码学原语(Primitives)存在的充要条件是单向函数(One way function)的存在。换句话说,单向函数是对称密码学的最小条件。事实上,密码学的另一个重要原语数字签名的最小条件也是单向函数。这些结果表明:一些复杂的高层(High level)对称密码方案设计可以规约到概念和性质相对容易理解的低层(Low level)单向函数。
2.3 训练案例
这一部分的训练案例可包括:
(1)一次一密(One time pad)是无条件安全的加密方案。可引导学生思考如下问题:如何利用一次一密设计一个加密方案,使其安全性归结到伪随机生成器的伪随机性。
(2)学生已经知道数字签名的最小条件也是单向函数。很自然地,可以引导他们提出和思考一个很有意义的问题,即基于身份的数字签名存在的最小条件是什么?
(3)陷门单向函数的存在意味着公钥加密方案的存在,从而自然地引导学生提出一个重要课题,即公钥加密方案的存在是否意味着陷门单向函数的存在?
3 理想化(Ideal)建模
其他学科在思考问题和建模时,经常暂不考虑一些次要因素而只考虑某种理想化的环境。密码学中有些理论也需要这样的理想模型。密码学中最经典的理想化模型莫过于下面要说的随机预言模型。
3.1 随机预言模型
随机预言模型是20世纪90年代初由Bellare和Rogaway提出的。在随机预言模型中,Hash函数被理想化为一个随机函数。随机预言模型的设计范式包括如下两步:①在随机语言模型下设计一个密码方案并证明其安全;②在实际应用中,将理想化随机模型替换为一个合适的Hash函数。
尽管密码学界对随机预言模型还有争议,但随机预言模型在密码方案的设计方面取得了巨大的成功,表现在:①在随机预言模型下,很多高效率的密码方案被构造出来,比如随机预言模型下的RSA签名和加密方案;②目前,还没有发现一个实际的在随机预言模型下被证明是安全的但在Hash函数替换后却不安全的密码方案。
3.2 训练案例
密码学中除了随机预言模型使用了理想化思想外,还有不少方案的安全模型定义使用了理想化的思想,这些定义往往引入一个值得绝对信任的第三方。教师可以让学生思考如何定义安全的多方计算。实际上,可以假设在一个多方参与的计算中,有一个绝对可信的第三方,所有参与方将自己的输入发给这个第三方,第三方再将计算结果发给每个参与方。
4 融合(Combine)拓展
4.1 学科内、外的融合交叉
密码学课程的许多教学内容体现了学科间和学科内的融合这一科学研究越来越普遍的趋势。量子密码学是密码学与量子物理相融合而产生的一个新的密码学研究分支。 编码学是研究信息传输纠错的学科,密码学是研究信息传输保密的学科。1978年,Mceliece将编码理论用于密码学的构造,提出了著名的Mceliece公钥加密体制。Mceliece公钥加密体制是抗量子计算机重要的算法之一。密码学学科自身内也有许多将不同功能融合而产生新功能的密码方案的实例。比如,郑玉良教授将加密和签名功能融合提出了签密方案;不同的签名被融合产生新签名(基于身份的多重签名、基于身份的盲签名等)。
4.2 训练案例
教师可让学生思考怎么实现电子的公平的合同签署,在公平的合同签署中,双方都能确保对方对合同签名且某个时刻后能拿到对方对合同的签名;可引导学生将一些密码方案融合以实现公平的合同签署,实际上,可验证加密签名可实现公平的合同签署。
5 结 语
本文讨论了密码学课程体现的科学思想和研究方法,包括问题驱动、规约、理想化建模和融合等科学思想,并对每种思想和方法提供可能的案例以实现对大学生的科研方法论教育,从而更好地培养大学生逐步获得探索世界、独立解决问题的能力,为今后从事科学研究提供方法上的准备。笔者所在教学团队近十几年一直负责南京理工大学密码学课程的教学工作,在实际教学中不断摸索将科研方法论教育融入课程教学中,对学生进行创新能力和创新精神的培养,在此基础上指导本科生毕业设计、科研训练、全国密码技术竞赛等实践教学活动。几年来,我们在实际中取得了良好的教学效果。团队指导学生曾获2013年校“百篇优秀毕业设计”、2016年国家级科研训练项目资助以及2016年全国密码技术竞赛一等奖。
参考文献:
[1]张伟刚. 科研方法论[M]. 天津: 天津大学出版社, 2006.
[2]张伟刚. 大学研究性教学与科研方法[J]. 高等理科教育, 2009, 84(2): 65-68.
[3]杨云松, 常存库, 孙丽英.医学院校科研方法学课程教学模式改革与实践[J].中医教育, 2014, 33(6): 35-36.
[4]王艳滨. 任务型教学法与科研方法教学[J]. 跨语言文化研究, 2016, 10(2): 333-341.
[5]赵雪丹, 于明鹏, 吴平. 基于研究型教学开展拔尖人才培养的实践探索[J]. 高等理科教育, 2017, 134(4): 83-86.
[6]蒋春洋, 李秀天. 研究性教学在“教育科研方法”课程中的实践与反思[J]. 现代教育科学, 2016(11): 66-69.
[7]李梦东.《密码学》课程设置与教学方法探究[J]. 北京电子科技学院学报, 2007, 15(3): 61-66.
[8]射绒娜, 郑秀林, 李子臣.密码学课程实践教学体系探索[C]//第九届中国通信学会学术年会论文集. 北京: 中国通信学会青年工作委员会, 2012: 472-475.
[9]张瑞霞, 唐成华, 唐麟. 密码学实验教学改革应用实践[J].计算机教育, 2013(5): 68-71.
[10]王少辉, 郁天婵. 现代密码学教学实践与思考[J].中国科教创新导刊, 2012(4): 151-153.
[11]Katz J, Lindell Y. Introduction to modem cryptography[M]. Florida: CRC Press, 2008.