基于密码算法的信息安全数学基础案例教学方法研究

2022-05-30 00:38牛淑芬董润园刘维
电脑知识与技术 2022年29期
关键词:教学方法

牛淑芬 董润园 刘维

摘要:信息安全数学基础是网络与信息安全专业研究生的基础课程,主要为学生后续的课程学习提供数学理论基础。经过探讨信息安全数学基础教学中存在的不足,设计了一个基于密码算法为案例的教学改革模式。该教学模式将数学理论与密码算法相结合、将密码算法与编程实践相结合。经过教学实践证明,该教学方法能充分调动学生的积极性和主动性,让学生在掌握数学理论的同时,深入地理解数学理论在密码实践中的应用,同时算法编程的实现让知识的掌握更为直观。

关键词:信息安全数学基础;密码算法案例;教学方法

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

文章编号:1009-3044(2022)29-0126-03

1 引言

信息安全作为一门新兴的综合性很强的交叉性学科,涉及计算机科学、密码学、数学、通信学、信息学、安全工程、法律等诸多学科[1],其目的是保障信息在存储和传输过程中的保密性、完整性、不可否认性等特性。信息安全数学基础是信息安全专业学生的核心课程,本学科建立在数学理论的基础之上并且涉及多个数学分支[2],如:离散数学、数论、代数学等课程。作为一门新的数学课程,虽然有很强的理论性,但它也有别于一般的数学课程,那就是与密码学课程相关,如:现代密码学、网络安全基础、协议分析等[3],所以本课程也具有一定的实践应用性。本文通过分析信息安全专业硕士研究生在学习过程中存在的问题,探讨以密码算法案例为主线的教学模式,使学生在密码算法应用实践中学习相关的数学理论知识。

信息安全数学基础内容涉及众多的性质和定理,内容抽象[4],需要大量的理论推导,对于逻辑推理能力较弱的理工科学生而言理解难度比较大,导致学生的学习积极性和主动性都不高。笔者近五年一直讲授信息安全专业的信息安全数学基础和现代密码学两门课程,结合近五年的授课经验和长期的教学探索,发现存在以下问题:

(1)教学方法单一,学生積极性和主动性不高。

由于现有的教学时数是36学时,为了在有限的课时中完成教学内容,本课程的讲授方式重理论轻应用,重算法轻编程,基本以板书形式结合PPT讲授,这样的教学方式和手段使得课程的教学显得枯燥,而对于计算机专业的研究生来说,编程实现算法是其优势,本教学改革拟根据课程内容的特点和学生的实际学习能力,通过案例教学和编程调动学生的学习积极性。

(2)教学目的与实践脱节。

根据传统数学类课程的教学模式,学生只是掌握了本课程的数学原理,提高了学生的逻辑能力和解题能力,而缺少对本课程和信息安全后续课程(如:现代密码学)的联系,无法形成一个完整的体系,也无法融会贯通各个课程的知识点,使得教学内容和实践应用脱节。

笔者结合教学环节中发现的问题以及信息安全专业硕士生后续课程的教学需求,根据学生学习阶段的反馈,积极探索适合创新模式的教学改革方法。本着数学理论与密码算法相结合,以及将密码算法与编程实践相结合的教学目的,提出了一种基于密码学案例的信息安全数学基础教学模式,该教学模式将数学理论与密码算法相结合,将密码算法与编程实践相结合。该教学方法能充分调动学生的积极性和主动性,让学生在掌握数学理论的同时,深入地理解数学理论在密码实践中的应用,同时算法编程的实现让知识的掌握更为直观。

2 基于密码算法的案例教学模式

在本课程的教学过程中,依然是遵循以理论教学为主的教学理念,但适当地加入密码算法案例教学,目的是让学生学以致用,重视理论与实践相结合。在本教学设计中,因课时的限制,选取了三个经典的密码算法案例:RSA加密算法、基于椭圆曲线的ElGamal加密算法以及基于中国剩余定理的秘密共享。其目的是将知识点与实际应用结合,通过编程实现,对知识的理解更为直观化。在学习了大素数、最大公约数、同余、欧拉函数和逆元的知识以后,我们以RSA加密算法为案例进行研究教学,详细了解各个知识点的具体应用。基于椭圆曲线的密码算法在密码学中有着非常重要的应用,包括最为热点的区块链安全是基于椭圆曲线的加密,故在平方剩余和椭圆曲线群知识点讲解后,补充基于椭圆曲线的ElGamal加密算法,使学生对知识的理解会更为透彻,也能增加趣味性和实践性。具体教学模式如图1所示。

2.1 以RSA加密算法为案例的学习目标

在以RSA加密算法[6]为案例的教学设计中,通过对算法的讲解和编程实现,可让学生学习理解大素数、最大公约数、同余、模幂、欧拉函数、逆元等知识点的定义和在密码算法中的应用,最后编程实现,以便直观地理解各个知识点的内容。

RSA加密算法:

① 参数生成:任意选取两个大素数[p]和[q],计算[n=pq],[φ(n)=(p-1)(q-1)],随机选择整数[e<φ(n)],满足[gcd(e,φ(n))=1];计算整数[d],满足[ed=1modφ(n)]。[p],[q]和[φ(n)]保密,加密者的公钥为[(n,e)],私钥为[d][5]。

② 加密:对于消息[m],计算[C=mdmodn],则密文为[C]。

③ 解密:解密者计算[m=Cemodn]。

通过RSA算法的理论分析,首先让学生了解基本的加解密算法,学习大素数、逆元、互素等知识点在密码学中的应用。其次,通过程序的输出,直观理解大素数的概念,认识并掌握模逆元的求法。

如图2所示,程序运行输出大素数[p]和[q],输出公钥[e]和私钥[d],其中[d]为[e]的逆元。同时也可以看出,解密的消息等于随机产生的明文消息。

2.2 以ElGamal加密算法为案例的学习目标

在第四章二次同余式和平方剩余的内容的学习中,有如下的例题:

例 1:求满足方程[E]:[y2=x3+x+6(mod11)]的所有的点,由二次剩余概念可求得椭圆曲线上的点为:[(2,4)],[(2,7)],[(3,5)],[(3,6)],[(5,2)],[(5,9)],[(7,2)],[(7,9)],[(8,3)],[(10,2)],[(10,9)]。

本例题考查学习的任务是平方剩余的求法,在密码学中,此知识点和密码学中的椭圆曲线相关,在实际教学设计中,可提前讲解第8章椭圆曲线的定义。基于椭圆曲线群的密码算法在密码学中应用非常广泛,本内容的案例教学设计选取了经典的[ElGamal]公钥加密算法,并给出程序运行结果。

定义1[7]: [p>3]是一个素数,[Zp]上的同余方程[y2=x3+ax+b(modp)]的所有解[(x,y)∈Zp×][Zp]连同一个特殊的点(无穷远点)共同构成[Zp]上的椭圆曲线[y2=x3+ax+b][(modp)],且[4a3+][27b2≠0]。

在本例题的讲解中,根据椭圆曲线的概念,可知方程[y2=x3+x+6(mod11)]的点满足椭圆曲线方程,其次可以证明椭圆曲線上的点可以构成一个加群。

加法运算如下:已知椭圆曲线上两点[P(x1,y1)]和[Q(x2,y2)],则[(x3,y3)=(x1,y1)+(x2,y2)]的求法如公式(1)[8]:

[λ=(y2-y1)(x2-x1)-1λ=(3x21+a)(2y1)-1][x2≠x1x2=x1]

则可得:

[x3=λ2-x1-x2y3=λ(x1-x3)-y1]                          (1)

取椭圆曲线群的生成元[α=(2,7)],可以如公式(1)计算[α]的倍数,要计算[2α=(2,7)+(2,7)],首先计算:[λ=(3×22+1)(2×7)-1mod11][=8mod11]

所以有:[x3=82-2-2mod11y3=8(2-5)-7mod11=2mod11]

因此:[2α=(5,2)]。

定义2: [Z*p]上的[ElGamal]公钥密码体制[6]

设[p]是一个素数,使得[Z*p,?]上的离散对数问题是难处理的,令[α∈Z*p]是一个本原元。令[Ρ∈Z*p],[C=Z*p×Z*p],[β≡αamodp],[p,α,β]是公钥,[a]是私钥。对[K=p,α,a,β],以及一个(秘密)随机数[k∈Zp-1],定义[eKx,k=y1,y2],其中[y1=αkmodp]且[y2=xβkmodp],对[y1,y2∈Z*p],定义[dKy1,y2=y2y1a-1modp]。

例 2:椭圆曲线的生成元为[α=(2,7)],Bob的私钥为[7],由定义3,加密运算:

[Ek=m,k] [=k(2,7),m+k(7,2)=y1,y2]

取明文[m=10,9],[k=3],则:

[Ek=3(2,7),(10,9)+3(7,2)]

由公式(1)可得:

[y1=3(2,7)=(8,3)y2=(10,9)+3(7,2)=(10,2)]

即密文为:

[Ek=(8,3),(10,2)]

由解密算法可得:

[Dk=y1,y2=y2-ay1=(10,2)-7(8,3)=(10,2)-(3,5)=(10,2)+(3,-5)=(10,2)+(3,6)=(10,9)=m]

通过前4章的学习,学生的理论基础有所提高,对密码算法已经有一定的掌握,因此在第8章的教学过程中,在讲授椭圆曲线的加法、重复倍加算法及椭圆曲线密码算法等内容的基础上,更进一步增加密码算法案例,更有利于衔接现代密码学课程的学习。教学方式采用翻转课堂的形式,在教师讲解密码算法基础上,让学生查阅资料自主学习椭圆曲线密码系统,结合讲授的算法进行编程。

2.3 以秘密共享算法为案例的学习目标

秘密共享是将秘密值以适当的算法拆分,拆分后的每一个子秘密分发给不同的参与者,只有若干个参与者一同出示子秘密才能恢复秘密值。秘密共享算法在密码学中尤为重要,尤其在5G/6G网络中,由于大量用户的移动性,密钥协商和秘密共享成了难点和重点,也是近年来研究的热点。

事实上,秘密共享方案在现实生活中也有极其广泛的应用,例如银行业务处理、政府机要库门开启、导弹发射等,都需要多人同时到场。一些重要的文档或者信息,也需要多人分开掌管等。在密码学中,有线性秘密共享算法,Shamir秘密共享算法和中国剩余定理秘密共享。

中国剩余定理又称孙子定理,是求解一元线性同余方程组问题方法。中国剩余定理的基本内容的数学表述如定义3。

定义3: 中国剩余定理[9]

设[m1,…,mk]是[k]个两两互素的正整数,则对任意的整数[b1,…,bk],同余式组

[  x≡b1      (mod m1)  x≡bk      (mod mk)]

一定有解,且解是唯一的。

由于中国剩余定理的解具有唯一性及正确性,故适于使用中国剩余定理进行构建秘密共享方案。

基于中国剩余定理的秘密共享:

分解秘密:对于某秘密值[s],计算

[s1≡s(modm1)       s2≡s(modm2)?     sn≡s(modmn)     ]                        (2)

则子秘钥为[(si,mi),i=1,2,…,n]。

恢复秘密:从[n]个子秘密[(si,mi)]中任意选择[t]个,[(si1,mi1),(si2,mi2),…,][(sit,mit)]恢复出秘密值[s]:

[x≡si1(modmi1)       x≡si2(modmi2)?     x≡sit(modmit)     ]                     (3)

[x≡s(modN1),N1=mi1mi2…mit]。

例3: 在式(2)中,给定秘密值[s=74],整数[m1=9],[m2=11],[m3=13],由公式(2)求得:

[s1≡74(mod9)≡2mod9,]

[s2≡74(mod11)≡8mod11 ,]

[s3≡74(mod13)≡9mod13 ,]

即生成的子秘密为[2,9],[8,11],[9,13]。

选取其中两个子秘密[2,9],[8,11],用公式(3)就可以密钥恢复[s],求解同余式:

[s≡2(mod9)      s≡8(mod11)   ]

由中国剩余定理公式可得:

[x≡5×11×2+5×9×8 (mod99)≡74(mod99)]

故可恢复[s=74]。

同时,可让学生编程实现基于中国剩余定理的秘密共享算法,以更深层次地和直观地理解中国剩余定理及其应用。使用C语编程的程序运行截图如图3,在图3中随机生成要分享的秘密值为[s],随机生成5个整数[m0,m1,m2,m3,m4],由(2)式求得子秘密为[(si,mi),i=1,2,3,4,5],根据中国剩余定理,任取其中三个([(s1,m1)],[(s2,m2)],[(s3,m3)]),用式(3)可恢复秘密值[s]。

3 结语

根据长期的教学积累和学生在学习实践中的反馈,笔者发现信息安全数学基础课程教学方式与理论和实践相脱节,教学方式也不适合新时期创新人才的培养。本教学改革的主旨思想是将数学理论的学习与密码算法结合起来,让学生在掌握数学理论的同时,深入地理解数学理论在密码实践中的应用,

锻炼学生知识综合应用能力。该教学方法能充分调动学生的积极性和主动性。同时将密码算法和密码环境融入课堂,让学生也能了解学科前沿,符合新时期创新创业能力人才的培养需求。

参考文献:

[1] 郎荣玲,刘建伟,金天.信息安全数学基础理论教学方法研究[J].计算机教育,2012(17):33-35.

[2] 牛淑芬,于斐,杨平平,等.交叉学科背景下信息安全数学基础理论与实践教学方法研究[J].计算机教育,2021(2):149-152.

[3] 吕秋云,赵泽茂,刘顺兰.信息安全本科专业密码学实验课程的教学研究[J].计算机教育,2009(15):133-135.

[4] 周洁,韩静.基于密码学困难问题的《信息安全数学基础》教学模式探索[J].现代计算机,2020(2):57-61.

[5] 高胜.移动感知计算中位置和轨迹隐私保护研究[D].西安:西安电子科技大学,2014.

[6] 李云莲.身份認证协议的设计与应用[D].长沙:湖南大学,2013.

[7] 徐承波.多种应用环境下身份认证与密钥协商协议的研究[D].北京:北京邮电大学,2014.

[8] 李明月.物联网环境下数据加密标准的构建研究[D].桂林:桂林理工大学,2017.

[9] 缪扬.几类有限非链环上线性码的研究[D].合肥:合肥工业大学,2016.

【通联编辑:李雅琪】

猜你喜欢
教学方法
初中英语写作教学方法初探
教学方法与知识类型的适宜
数学复习教学方法
高中体育教学方法初探
浅谈高等数学中教学方法的创新
实用型中医人才培养中慕课教学方法的探讨
文言文教学方法实践初探
高中文言文教学方法之我见
初中数学教师不可忽视的几种教学方法
中医康复学教学方法探讨与实践