当前位置:无忧公文网 >范文大全 > 征文 > Mathematica在信息安全类课程实验教学中的应用

Mathematica在信息安全类课程实验教学中的应用

时间:2022-03-12 08:17:23 浏览次数:

摘要:在信息安全类课程的实验教学中利用Mathematica应用程序来演示整数乘法群逆元的性质、扩展欧几里得算法、模冥周期性等教学内容,通过这些可视化的实验程序来帮助学生学习和理解信息安全领域涉及到的抽象的数学基础知识,对提高教学质量起到了事半功倍的效果。

关键词:信息安全类课程;实验教学;Mathematica

中图分类号:G434文献标识码:A文章编号:1009-3044(2011)16-3974-02

The Application of Mathematica for the Experimental Teaching of Information Security Related Courses

HE Wen-sheng, HE Shan, GUO Xiao-jun

(School of Economics and Management, Southwest Petroleum University, Chengdou 610500, China)

Abstract: Mathematica programs are applied to demonstrate the properties of inverses of multiplicative group, the extended Euclidean algorithm and the periodicity of modulus-power for the experimental teaching of information security related courses. With the help of these visual programs, the students are able to better learn and understand the abstract mathematical foundation related to the field of information security and the teaching results have also been greatly improved.

Key words: information security related courses; experimental teaching; Mathematica

信息管理专业的《信息系统安全与保密》与电子商务专业的《电子商务安全》都属于信息安全类课程,教学中均涉及到了大量的数论、抽象代数等领域的数学知识。这些知识学生以前接触得很少,但对帮助学生学习和掌握各种安全攻击和防护技术却又非常重要。Mathematica是由美国科学家斯蒂芬?沃尔夫勒姆领导的Wolfram Research开发的一个计算机代数系统,拥有强大的数值计算和符号运算能力,是目前为止使用最广泛的数学软件之一。在设计这两门课程的实验时,如果使用Mathematica应用程序来可视化、直观地显示多种数学概念和结论,既能使学生不必陷于繁琐的数学概念、定理及推导中,又能使学生通过实验来快速、直观地领会到相关数学知识及意义,易学、易记、易用。下面结合实验中涉及到的一些内容来进行探讨。

1 整数乘法群逆元性质的演示

在各种密码算法中,常常涉及到整数乘法群上的逆元的概念,即对于两个正整数p和q,如果满足p*q≡1(mod m),则称p和q互为乘法逆元。对于乘法逆元,有几个常用的重要性质,都可以借助Mathematica程序在实验中直观地显示出来。下面是实验结果的截图,其中图1和图2分别表示了模m=19和m=21时的乘法逆元情况。图中箭头相连的两个数互为逆元,如图1中的(2,10)、(3,13)、(4,5)等,图2中的(2,11)、(4,16)、(5,17)等;彩色实心圆点代表的数的逆元就是自身,如图1中的1、18,图2中的1、20;而既没有箭头指向、也不是彩色实心圆点的数则没有逆元,如图2中的3、7、9、12、14、15等。限于篇幅,这里只列举了两个不同模的情况。在实际实验操作中,学生可以动态地观察到一系列模的变化情况,从而无需复杂的证明,就能从图中很直观地看出有关乘法逆元的一系列的重要性质,如:一个数有乘法逆元的充要条件是它和模数互素;当模数确定的时候,一个数如果有乘法逆元,则该逆元是唯一的;当模数发生变化时,逆元也会相应发生变化等等。通过实验观察掌握了这样一些性质后,学生就很容易理解许多密码算法中的运算规则和生成参数的要求,比如密码算法中乘法因子的消去、移位密码密钥的选取规则、RSA密码中加密指数的选取规则等等[1];反之,如果没有这些数学知识,学生对于很多密码算法的原理、参数选择就很难理解,只能采用死记硬背了。

2 扩展欧几里得算法的演示

欧几里得算法是用于计算两个正整数的最大公约数,而扩展欧几里得算法则是利用欧几里得算法的中间结果,来计算某个数的乘法逆元。这两个算法在信息安全领域应用得非常普遍,但由于步骤较多,计算繁琐,学生理解起来非常吃力。利用Mathematica应用程序设计的实验则很容易把两个算法的步骤都给显示出来,便于学生的理解。在下面实验结果的截图中,图3展示了两个数互素的情况(613和202),图中左下部是欧几里得算法的过程,即通过两数的辗转相除,一步一步地把余数减小,直至最后一个非0余数即为两数的最大公约数;右下部是扩展欧几里得算法的过程,即利用两个数的线性组合来表示辗转相除中每一步的余数,直至等于两数的最大公约数。于是就得到了这样一个等式:1=613*29+202*(-88),由此可立得613关于模202的乘法逆元是29。图4则展示了两个数不互素的情况(447和474),由于两数的最大公约数为3,因此无法得到两数的线性组合值为1的等式,于是就无法求出447关于模474的乘法逆元,于是这又从另外一个角度验证了从图1和图2中观察到的关于乘法逆元存在性的性质。通过该实验,学生甚至不用看书上关于这两种算法的描述,就基本上能掌握,学习的效率和效果都非常理想。

图3 扩展欧几里得算法计算图(两数互素的情况)图4 扩展欧几里得算法计算图(两数不互素的情况)

3 模冥周期性的演示

在介绍RSA密码体制时,几乎所有的教材都是利用欧拉定理进行公式推导来完成解密算法正确性的证明[2-3]。这种方法固然严密,但往往显得很繁琐,让学生把注意力都集中在数学推导上,却忽视了RSA算法的来龙去脉及其背后更深层次的思想。于是在两门课程的实验设计中就利用Mathematica程序来直观地演示RSA算法的一个重要的数学基础--模冥值的周期性,以方便学生从中直接观察找出规律,从而更好地理解RSA解密算法的由来。图5~图7是实验中当底数a和模数p之间为不同的组合值时模冥Cn=an(mod p)的函数图,图中横坐标代表指数n的值,纵坐标代表模冥Cn的值。

从图5~图7这些图可以直观地看出,模冥Cn的值随指数n变化而呈现周期性的变化。图中注释里的period代表变化的周期值,periodicity onset代表周期开始时的指数值,?准(p)代表模数p的欧拉函数。通过实验观察可以发现:无论底数a和模数p是否互素,其模冥运算结果Cn都会呈现出周期性,并且其周期值T能够整除?准(p);不同的只是周期起始点的位置有所不同。对于模数p中素因子多于两个或者素因子的冥次大于1时,周期起始点大于1,如图5所示模数p=24;但当模数p可分解为两个一次素因子时,其周期起始点要么为0(对应于a和p互素的情形,如图7所示),要么为1(对应于a和p不互素的情形,如图6所示)。

有了上面通过实验直接观察得到的结论,再来看一下解密算法正确性的证明过程。设C代表密文,M代表明文,e和d分别代表加密指数和解密指数,于是在解密时有如下的推导:

Cd ≡ (Me)d (mod p) ≡ Me*d(mod p) ≡ Mk*f(p)+1(mod p)

由于?准(p)是周期值T的倍数,k*?准(p)便也是T的倍数。于是只要周期起始点为0或者为1(对应于模数p可分解为两个一次素因子的情形),都有:

Cd ≡ Mk*f(p)+1(mod p) ≡ Mk*f(p)+1+0(mod p) ≡ M1(mod p) ≡ M(mod p)

这样就可以从加密的密文里成功地解密恢复出明文。可见明文M和模数p是否互素,并不会影响解密算法的正确性;学生们可以从实验中直观地体会到这一点,避免了繁琐的推导。同时,如果进一步观察和思考,还可以发现,RSA算法的关键就在于很巧妙地利用了模冥具有周期性的特点,从而可以构造出“陷门”,使合法用户能够利用这种周期性容易地进行解密,而非法用户或攻击者在不知道陷门信息的情况下,试图通过求解高次同余式方程组来解密是不可行的。事实上,很多公钥算法都是基于找到周期函数的周期的困难性来构造出陷门的[4],这个实验很好地诠释了这一点,使学生不仅容易理解RSA解密算法的原理,还能从更高的层次来认识公钥密码的构成思想,而不只是就事论事地学习和思考。

4 结束语

《信息系统安全与保密》和《电子商务安全》等信息安全类课程中不少章节涉及到很多的数学知识,这些章节既是教学中的重点,也是教学中的难点。其中的数学知识应是用来帮助学生更容易地掌握和理解信息安全领域的各种攻击和防护手段,而不是自身就成了学生学习的拦路虎。利用Mathematica应用程序设计的实验,可以把很多难于理解的数学知识“可视化”,使学生摆脱复杂的数学定理、证明的纠葛,同时又能直观和深刻地理解其中的本质,并很自然地在学习中加以应用,加速了知识的消化和吸收,这些实验对于课堂教学起到了很好的扩展和补充作用。

参考文献:

[1] 张波,孟祥瑞,陈洋,等.电子商务安全[M].上海:华东理工大学出版社,2006:22-25.

[2] 祝凌曦,刘军.电子商务安全[M].北京:清华大学出版社,2006:66-67.

[3] 唐晓东,刘辉,刘宏.电子商务中的信息安全[M].北京:清华大学出版社,2006:24-26.

[4] Wenbo Mao.现代密码学理论与实践[M].北京:电子工业出版社,2006:165-167.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

推荐访问: 信息安全 课程 实验 教学中 Mathematica