Wolfram Alpha在网络信息安全课程中的应用

2021-10-08 00:46张大雷孙淮宁史学梅马梦珂
计算机时代 2021年9期
关键词:数论网络信息安全密码学

张大雷 孙淮宁 史学梅 马梦珂

摘  要: 网络信息安全是计算机相关专业的一门重要课程,其中的密码学部分涉及到数论的相关知识,抽象而难以理解。Wolfram Alpha是一款在线知识型搜索引擎,兼具强大的功能和良好的易用性。文章介绍网络信息安全课程涉及到的基础数论知识,结合实例展示用Wolfram Alpha解决相关问题的方法,以期通过Wolfram Alpha的使用来提升教学效果。

关键词: Wolfram Alpha; 网络信息安全; 数论; 密码学

中图分类号:TP393          文献标识码:A     文章编号:1006-8228(2021)09-32-02

Abstract: Network information security is an important course for computer-related specialties. The cryptography part involves the relevant knowledge of number theory, which is abstract and difficult to understand. Wolfram Alpha is an online knowledge search engine with powerful functions and good ease of use. This paper introduces the basic number theory knowledge involved in the network information security course, and shows the method of solving relevant problems with Wolfram Alpha by actual examples, in order to improve the teaching effect through the use of Wolfram Alpha.

Key words: WolframAlpha; network information security; number theory; cryptography

0 引言

Wolfram Alpha(以下簡称WA)是一款在线知识型搜索引擎,除了支持用命令解决各类问题外,还支持自然语言搜索,兼具强大的功能和良好的易用性[1-2]。WA与数学软件Mathematica出自于同一家公司,两者语法完全兼容[3],因此WA跟Mathematica一样,同样可以用于辅助数学课程的教学[4],并且功能与MATLAB软件相当[5-7]

网络信息安全课程是网络工程专业的核心课程,由于其中的密码学部分涉及到许多数论相关的知识,学生普遍感到比较抽象,难以理解[8]。

随着4G/5G网络的发展,带宽不再是制约上网的因素。此外,智能手机的普及为高校课程的改革提供了天然的硬件资源。

本文首先介绍网络信息安全课程涉及到的基础数论知识[9],然后结合实例展示用WA解决相关问题的方法。

1 数论基础

1.1 模运算

模运算也就是通常所说的求余运算,该运算包含两个参数,就是求一个整数除以另一个整数的余数。模运算是整个数论大厦的基石,因为数论的研究对象就是整数。计算机编程语言中通常用%表示模运算,数学上一般用mod表示求余。

1.2 模幂运算

模幂运算是一种混合运算,先求幂运算,再做模运算,所以该运算包含三个参数,分别是底数、指数和除数,例如abmod c表示的即是模幂运算。模幂运算是密码学中众多公钥密码算法中最常见的运算之一,如RSA算法,Diffie-Hellman算法等等。

1.3 模逆运算

模逆运算可以看作是模幂运算的特例,也就是指数为 -1的情况,例如a-1mod c表示的即是模逆运算。RSA算法中也用到了模逆运算。

1.4 欧拉函数

数论中,欧拉函数是指小于或等于n的正整数中与n互质的数的数目,也称j函数。欧拉定理中就出现了欧拉函数,而欧拉定理是RSA算法正确性的基础。

1.5 原根

原根是数论中的基本概念[10]。设a, m为正整数,若a满足对模m的阶等于欧拉函数[φ(m)],那么称a为模m的原根。原根的使用确保了Diffie-Hellman算法的正确性。

1.6 中国剩余定理

中国剩余定理是数论中的一个重要定理,也是中国古代数学的精华之一。“有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。中国剩余定理在密码学中有着极为广泛的应用。

1.7 MD5计算

MD5是一种广泛应用的HASH函数,对于任意输入,可以产生128 位的HASH值,主要用于数据的完整性检测。

1.8 二次剩余计算

设m为正整数,若同余方程[x2≡a(mod m)]有解,则称a为模m的平方剩余或二次剩余,否则称a为模m的二次非剩余,其中a, m互质。根据欧拉准则,p是奇质数且p不能整除d,d是模p的二次剩余,当且仅当[dp-12≡1(mod p)]。

2 WA命令

2.1 模运算

在WA中,mod函数或%是用于模运算的。它们有两个参数,第一个是被除数,第二个是除数,结果是余数。例如要计算11 mod 4,在搜索框中输入命令11%4,或者输入命令11 mod 4,输出3。

2.2 模幂运算

模幂运算需要用到的函数是PowerMod,该函数有三个参数,分别是底数、指数和除数,输出结果就是这三个参数的模幂运算的结果。例如要计算34 mod 11,在搜索框中输入命令PowerMod(3, 4, 11),输出4。

2.3 模逆运算

模逆运算既然可以看作模幂运算的特例,所以也可以用PowerMod函数,或者直接用mod函数都可以计算。例如要计算49-1 mod 53,在搜索框中输入命令PowerMod(49, -1, 53)或49^ -1 mod 53,都是输出13。

2.4 欧拉函数

phi函数用于计算欧拉函数,例如要计算欧拉函数值phi(10),在搜索框中输入命令phi(10),输出4。

2.5 原根

primitive roots函数用于计算原根,例如要计算模11的原根,在搜索框中输入命令primitive roots 11,输出{2, 6, 7, 8}。

2.6 中国剩余定理

ChineseRemainder用于求解一次同余方程组,它的第一组参数是方程组中的余数,第二组参数是方程组中的除数,例如求解1.6节中的方程组,只需要输入命令ChineseRemainder[{2, 3, 2}, {3, 5, 7}],输出23。

2.7 MD5计算

md5函数用于计算某个输入参数的HASH值,例如求字符串“abc”的MD5的HASH值,输入命令md5 abc,会给出十进制与十六进制的结果,其中十六进制形式为:900150983CD24FB0D6963F7D28E17F72。

2.8 二次剩余计算

根据欧拉准则,计算二次剩余可以转化为计算同余式问题,例如要计算出模11的非零二次剩余,只要解出同余式[d11-12≡1(mod 11)],也就是[d5≡1(mod 11)]。所以利用WA中的PowerModList函数,输入命令PowerModList[1, 1/5, 11],就可以输出{1, 3, 4, 5, 9},为模11的非零二次剩余。

3 结束语

WA是非常强大、易用的知识型搜索工具,语法同Mathematica完全兼容。它不仅可以应用在网络信息安全课程中,還可以用在数学、物理、化学等其他各大学科;不仅在高等教育课程中有应用价值,在初等教育中也有着广泛的应用前景。同MATLAB相比,目前WA在国内还没有得到应有的重视,相关研究还比较少,希望将来它能够得到更广泛的应用,在教育教学中发挥更大的作用。

参考文献(References):

[1] 蒙柳.基于计算的知识搜索引擎Wolfram Alpha研究[J].图书馆学研究:应用版,2010.000(002):58-61,64

[2] 王保卫,刘党生.WolframAlpha开启自适应知识学习新时空[J].中国信息技术教育,2017.000(013):60-63

[3] 祁兰.Mathematica语言在求初等数论整除性问题的应用[J].价值工程,2013.32(4):241-242

[4] 郝庆一.Wolfram Alpha在大学数学实验教学中的应用研究[J].安庆师范学院学报:自然科学版,2016.

[5] 罗亮冰.Matlab在数论研究中的应用——用Matlab验证哥德巴赫猜想与孪生素数猜想[J].科教导刊(中旬刊),2015.9:76-77,83

[6] 纪岗.Matlab语言在初等数论中的应用[J].福建师大福清分校学报,2013.2:19-22

[7] 楚智媛,吕闯,赵晓磊.利用matlab编程求解初等数论问题[J].中国科技信息,2020.20:47-48

[8] 蔡皖东.网络信息安全技术[M].清华大学出版社,2015.

[9] 潘承洞,潘承彪.初等数论-第2版[M].北京大学出版社,2003.

[10] 张大雷,陈磊.2ip+1型素数及其原根[J].淮南师范学院学报,2017.19(5):92-93

猜你喜欢
数论网络信息安全密码学
一类涉及数论知识的组合题的常见解法
几类递推数列的数论性质
赖彬文
数论中的升幂引理及其应用
图灵奖获得者、美国国家工程院院士马丁·爱德华·海尔曼:我们正处于密钥学革命前夕
密码学课程教学中的“破”与“立”
计算机网络信息安全与其防护体系设计
《网络信息安全》课程教学改革与探索
互联网金融的风险分析与管理
矩阵在密码学中的应用