APP下载

《密码学》课程教学方法的探索

2020-02-22王占君马海英

电脑知识与技术 2020年36期
关键词:密码学教学方法

王占君 马海英

摘要:针对《密码学》课程存在学习难度大和讲授枯燥的问题,本文首先详细阐述该课程所需的数学理论基础;然后,深入探讨了该课程实践教学环节的方法,给出研究密码学的几点建议;最后,结合实际分析了密码学课程对改善本科生知识结构的重要性。

关键词:密码学;教学方法;数学基础

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2020)36-0108-02

Abstract: For the problems that cryptography course is difficult to learn and is dull to teach, this paper firstly elaborates the mathematical theory required by this course; then, it discusses the methods of practical teaching of this course and gives some suggestions on researching cryptography. Finally, the importance of the course of cryptography in improving the knowledge structure of undergraduates is analyzed.

Key words: Cryptography; teaching method; mathematical foundations

1 引言

随着移动通信和5G技术的快速发展,密码学在网络空间安全领域中的重要地位日益凸显,《密码学》课程在培养网络空间安全应用型高级工程人才中显得特别重要。密码学理论知识为数据的机密性、完整性、抗抵赖性及身份认证提供了一种有效保障机制,已成为物联网信息安全、网络空间安全等领域的核心技术。古典密码术是把明文消息经过一定的混淆手段变换成难读懂的信息,用来隐藏机密信息,防止非法者获知消息,让合法用户能够还原成明文信息[1]。古典密码学是一门将信息论和数学等学科集于一身的交叉学科[2],可以分为密码编码学和密码分析学。密码编码学[3]通过编码信息实现信息隐藏的学科,密码分析学[4]是研究破译密码或分析密文,进而获知隐私信息的科学,两者既对立又相辅相成。现代密码学从最基本的消息机密性延伸到密钥管理、哈希函数、安全的通信协议等多个领域,是信息安全的核心學科之一。

2 密码学课程的特点

密码学作为一门专业课程,具有知识跨度广、课程难度高的特点,理论性和应用性均比较强[5,6]。现代密码学所涉及的主要学科包括:信息论、概率论、数论、计算复杂性理论、近世代数等[7]。因此,密码学课程需要有较好的数学基础及必备的前置知识点,在学习过程中由浅入深,步步推进。对于很多密码学算法中的困难性假设,比如大数因子分解问题、离散对数问题等,需要掌握数论和近似代数的基础知识。密码学课程的核心内容由许多密码算法构成,在学习密码学的过程中,通过对经典密码学算法进行编程实现,理解算法的设计思路,并对算法的性能和安全性进行测试和分析,进而识别算法的优势和存在的不足。密码学课程涵盖的知识范围非常广,相关研究开展的也很多,利用最新文献对相关问题做进一步的研究和探讨,结合最新的密码学应用,有效拓展自己的知识面。

3 密码学课程的教学与研究方法

密码学是以数论、矩阵论和近似代数等数学知识为基础,为数据传输和存储的安全性提供一种有效方法。本节首先列出密码学课程需要掌握的数据基础,重点阐述密码学课程的实践教学环节,给出研究密码学的建议。

3.1密码学数学理论基础

密码学中,数学理论基础主要包括有限域、同余及模运算、线性同余、中国剩余定理、二次剩余、单向函数与单向暗门函数等。由于数论是密码学中最重要的数学基础,因此,必须将数论作为密码学的前置课程。有限域重点理解群、环、域的概念;同余及模运算主要包括同余基本运算、欧拉定理和费马定理;利用欧拉定理和欧几里得算法计算乘法逆运算;重点理解线性同余、中国剩余定理、二次剩余、指数函数、单向函数与单向陷门函数的定义,并结合具体实例应用到实际场景中。例如,流密码需要学习有限状态自动机、二元序列的伪随机性、线性反馈移位寄存器和m序列;分组加密需要学习SP网络和有限域基础;公钥密码体制需要重点掌握完全剩余系、简化剩余系、欧拉定理、群和循环群的概念和运算、椭圆曲线等理论知识。掌握这些数学理论知识是学习密码学课程的前提。

《密码学》课程的理论教学主要讲解密码原语的定义、安全模型和算法,深入掌握密码方案和协议的基本原理,能够解决密码工程中的实际问题。结合实际应用的案例,讲解密码算法和密码协议,借助多媒体教学设施演示算法和协议。

3.2 密码实验的实践教学

《密码学》课程实践教学主要包括密码算法的设计和实验等内容,着重培养学生的开发和应用能力,通过密码算法实验对理论内容进行深层次的掌握。首先,利用开源密码代码,对基本的密码算法进行编程和实现,并对其加密、解密等过程进行性能方面的测试,通过对不同算法的对比实验,可以更直观地认识到算法的安全性和运行速度等性能指标。然后,每位学生选择一个题目后,根据实际应用场景,结合密码算法的性能指标和安全等级,设计具体工程方案,并对其编码和实现,任课老师辅导学生完成方案设计、实现和编码工作。

为了加强学生对密码学知识的理解、掌握和应用,把理论知识和技能应用到现实场景中,严格考核学生掌握和应用密码知识的综合素养,从而在一定程度上改变“卷面笔试定成绩”的不足,防止考前突击的行为。

3.3研究密码学的建议

国际密码学研究协会每年主办3次学术会议,分别是每年8月在美国加利福尼亚州圣巴巴拉召开的美国密码会议(简称“美密会”),每年5月在欧洲国家召开欧洲密码会议(简称欧密会)和每年12月在亚太国家召开的亚洲密码会议(简称“亚密会”)。会议涵盖了密码学领域的各个方面,比如理论基础、密码算法的设计与分析、安全协议及密码应用等。这三大密码会议是密码学研究领域的标志性会议,代表密码学领域的最高水平,影响力大。对于从事密码学研究的研究生来说,通过阅读这三大密码会议的最新文献,寻找研究问题的最新解决方法,吸取现有文献研究方法的优点,结合自己的研究思路,提出性能和安全性很好的解决方案。

4密码学课程实验环节的模式

密码学课程存在学科的交叉性、内容的枯燥性、教学的实践性以及学习的重要性等基本特征[9]。针对学习过程中内容的枯燥性,可以采用以下几种实验环节的模式,促进学生更好的理解密码学的核心算法。

4.1 实验环节的小组教学

实验教学的理念是“以学生为中心,突出学生自主学习”,在实验环节中,根据学生的兴趣和所选题目,将其分成若干个小组,每小组为3~5名学生,共同合作完成实验题目[9]。这种模式有助于培养学生团队合作能力,共同完成大规模项目工程,从而获得更大的成果。小组教学根据学生的知识掌握情况,设计小组教学内容,兼顾每个学生的兴趣点,逐步引导学生深入理解密码学核心知识,进而实现教学目标。这种教学模式尽量避免教师填鸭式灌输知识点,激发学生主动学习的热情,培养学生积极思考、分析和解决问题的能力。

4.2 情景化教学

将理论知识和现实情景相结合,能够极大地激发学生学习兴趣和好奇心,充分调动学生学习的积极性[10]。通过引入当前热点问题,激发学生求知欲。为了让学生更深刻理解代理重加密技术,以智能家居为例,为了确保家居设备的安全性,该家庭的现有成员设置控制智能家居的密钥K1,当有新的成员加入时为其生成密钥K2,该新成员通过请求原来成员,仅当请求获得批准后,服务器端会将K1解密的密文重新加密转换成密钥K2解密的密文,从而使新成员可以掌控部分家居设备。其次,将热门应用如区块链、物联网和人工智能等场景与密码学相结合,既能说明密码学的应用广泛,与现代技术息息相关,还能引起学生对于新技术、新领域的好奇心,驱使学生深入探究密码学在更多领域的应用。

4.3 研讨性教学

引入了情景之后,提出有针对性的问题,让学生进行充分思考、小组讨论,得到多种可能性的结果,可以加深学生对问题的思考和理解[10]。例如,在新型密码算法如属性基加密涉及的困难性假设时,能否基于相同的困难性假设构造性能较高的密码算法,让学生充分讨论并发表自己的看法。基于合理困难性假设,鼓励学生积极构造高性能的密码学算法,针对其中存在的问题,通过反证法指出问题的所在,从而使学生在讨论中形成对密码学理论的独有认知。

5 总结

密码学与国家的政治、经济和工业各个方面都有關系,直接关系着国家安全和主权。密码学是保障个人信息安全的一种重要技术,已经应用到现实生活的多个行业,成为工业界和学术界的热点研究领域。密码学课程有利于培养学生的创造思维能力,可以改变专业划分过细、课程设置偏窄、知识结构单一的状况,其课程设置也有利于本学科中的各专业、各研究方向的相互渗透、互为交融,使学生具有更合理的知识结构,促进了多学科的交叉与渗透。这样的知识结构 ,既利于发挥所学专业的知识,推动技术进步,同时又有利于学生的知识储备。

通过密码学的系统学习,不仅能够提高思维和逻辑推理能力,还可以更好的学习当前热点领域,比如区块链,为将来参与创新性的研究和开发工作打下坚实的理论基础。首先,掌握坚实的数学基础,是学好密码学的前提;提高密码设计与编程的动手能力;针对研究问题,查阅最新论文和文献资料,找到新颖的解决问题的方法;结合具体应用场景,提出安全的性能较高的密码学方案。特别地,密码学是一门很讲究时效的学科,所以在学习过程中一定要善于紧跟研究前沿。

参考文献:

[1] 王保仓,贾文娟,陈艳格.密码学现状、应用及发展趋势[J].无线电通信技术, 2019, 45(1):1-8.

[2] 姚前.密码学、比特币和区块链[J]. 清华金融评论, 2018(12): 99-104.

[3] K. Sowjanya, Mou Dasgupta. A ciphertext-policy Attribute based encryption scheme for wireless body area networks based on ECC [J]. Journal of Information Security and Applications, 2020(54):102559.

[4] 翟起滨.密码技术的演化和对信息技术的促进[J].中国信息安全, 2018(8):72-74.

[5] Anat Paskin-Cherniavsky, Ruxandra F. Olimid. On cryptographic anonymity and unpredictability in secret sharing [J]. Information Processing Letters, 2020(161):105965.

[6] 郑东, 赵庆兰, 张应辉. 密码学综述[J]. 西安邮电大学学报, 2013, 18(6): 1-10.

[7] W. Wang, F. Qi, X. Wu, Z. Tang, Distributed multi-authority attribute-based encryption scheme for friend discovery in mobile social networks, Procedia Computer Science, 2016(80): 617-626.

[8] Chris Christensen. Review of Cryptography and Network Security: Principles and Practice, Fifth Edition [J]. Cryptologia, 2010, 35(1): 97-99.

[9]李光松, 广晖, 王洋, 等. 密码学课程小班化教学探索与实践[J]. 计算机教育, 2018(3): 22-24+28.

[10]方黎明,葛春鹏,李明慧. 现代特色密码学课程体系建设研究[J]. 教育现代化, 2019, 6(A0):78-79.

【通联编辑:王力】

猜你喜欢

密码学教学方法
图灵奖获得者、美国国家工程院院士马丁·爱德华·海尔曼:我们正处于密钥学革命前夕
教学方法与知识类型的适宜
密码学课程教学中的“破”与“立”
应用型本科高校密码学课程教学方法探究
矩阵在密码学中的应用
实用型中医人才培养中慕课教学方法的探讨
文言文教学方法实践初探
密码学的课程特点及教学方法探讨
以群为基础的密码学
我的教学方法