張大雷 孫淮寧 史學梅 馬夢珂
摘? 要: 網(wǎng)絡信息安全是計算機相關專業(yè)的一門重要課程,其中的密碼學部分涉及到數(shù)論的相關知識,抽象而難以理解。Wolfram Alpha是一款在線知識型搜索引擎,兼具強大的功能和良好的易用性。文章介紹網(wǎng)絡信息安全課程涉及到的基礎數(shù)論知識,結合實例展示用Wolfram Alpha解決相關問題的方法,以期通過Wolfram Alpha的使用來提升教學效果。
關鍵詞: Wolfram Alpha; 網(wǎng)絡信息安全; 數(shù)論; 密碼學
中圖分類號: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與數(shù)學軟件Mathematica出自于同一家公司,兩者語法完全兼容[3],因此WA跟Mathematica一樣,同樣可以用于輔助數(shù)學課程的教學[4],并且功能與MATLAB軟件相當[5-7]
網(wǎng)絡信息安全課程是網(wǎng)絡工程專業(yè)的核心課程,由于其中的密碼學部分涉及到許多數(shù)論相關的知識,學生普遍感到比較抽象,難以理解[8]。
隨著4G/5G網(wǎng)絡的發(fā)展,帶寬不再是制約上網(wǎng)的因素。此外,智能手機的普及為高校課程的改革提供了天然的硬件資源。
本文首先介紹網(wǎng)絡信息安全課程涉及到的基礎數(shù)論知識[9],然后結合實例展示用WA解決相關問題的方法。
1 數(shù)論基礎
1.1 模運算
模運算也就是通常所說的求余運算,該運算包含兩個參數(shù),就是求一個整數(shù)除以另一個整數(shù)的余數(shù)。模運算是整個數(shù)論大廈的基石,因為數(shù)論的研究對象就是整數(shù)。計算機編程語言中通常用%表示模運算,數(shù)學上一般用mod表示求余。
1.2 模冪運算
模冪運算是一種混合運算,先求冪運算,再做模運算,所以該運算包含三個參數(shù),分別是底數(shù)、指數(shù)和除數(shù),例如abmod c表示的即是模冪運算。模冪運算是密碼學中眾多公鑰密碼算法中最常見的運算之一,如RSA算法,Diffie-Hellman算法等等。
1.3 模逆運算
模逆運算可以看作是模冪運算的特例,也就是指數(shù)為 -1的情況,例如a-1mod c表示的即是模逆運算。RSA算法中也用到了模逆運算。
1.4 歐拉函數(shù)
數(shù)論中,歐拉函數(shù)是指小于或等于n的正整數(shù)中與n互質的數(shù)的數(shù)目,也稱j函數(shù)。歐拉定理中就出現(xiàn)了歐拉函數(shù),而歐拉定理是RSA算法正確性的基礎。
1.5 原根
原根是數(shù)論中的基本概念[10]。設a, m為正整數(shù),若a滿足對模m的階等于歐拉函數(shù)[φ(m)],那么稱a為模m的原根。原根的使用確保了Diffie-Hellman算法的正確性。
1.6 中國剩余定理
中國剩余定理是數(shù)論中的一個重要定理,也是中國古代數(shù)學的精華之一?!坝形锊恢鋽?shù),三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二。問物幾何?”即,一個整數(shù)除以三余二,除以五余三,除以七余二,求這個整數(shù)。中國剩余定理在密碼學中有著極為廣泛的應用。
1.7 MD5計算
MD5是一種廣泛應用的HASH函數(shù),對于任意輸入,可以產(chǎn)生128 位的HASH值,主要用于數(shù)據(jù)的完整性檢測。
1.8 二次剩余計算
設m為正整數(shù),若同余方程[x2≡a(mod m)]有解,則稱a為模m的平方剩余或二次剩余,否則稱a為模m的二次非剩余,其中a, m互質。根據(jù)歐拉準則,p是奇質數(shù)且p不能整除d,d是模p的二次剩余,當且僅當[dp-12≡1(mod p)]。
2 WA命令
2.1 模運算
在WA中,mod函數(shù)或%是用于模運算的。它們有兩個參數(shù),第一個是被除數(shù),第二個是除數(shù),結果是余數(shù)。例如要計算11 mod 4,在搜索框中輸入命令11%4,或者輸入命令11 mod 4,輸出3。
2.2 模冪運算
模冪運算需要用到的函數(shù)是PowerMod,該函數(shù)有三個參數(shù),分別是底數(shù)、指數(shù)和除數(shù),輸出結果就是這三個參數(shù)的模冪運算的結果。例如要計算34 mod 11,在搜索框中輸入命令PowerMod(3, 4, 11),輸出4。
2.3 模逆運算
模逆運算既然可以看作模冪運算的特例,所以也可以用PowerMod函數(shù),或者直接用mod函數(shù)都可以計算。例如要計算49-1 mod 53,在搜索框中輸入命令PowerMod(49, -1, 53)或49^ -1 mod 53,都是輸出13。
2.4 歐拉函數(shù)
phi函數(shù)用于計算歐拉函數(shù),例如要計算歐拉函數(shù)值phi(10),在搜索框中輸入命令phi(10),輸出4。
2.5 原根
primitive roots函數(shù)用于計算原根,例如要計算模11的原根,在搜索框中輸入命令primitive roots 11,輸出{2, 6, 7, 8}。
2.6 中國剩余定理
ChineseRemainder用于求解一次同余方程組,它的第一組參數(shù)是方程組中的余數(shù),第二組參數(shù)是方程組中的除數(shù),例如求解1.6節(jié)中的方程組,只需要輸入命令ChineseRemainder[{2, 3, 2}, {3, 5, 7}],輸出23。
2.7 MD5計算
md5函數(shù)用于計算某個輸入?yún)?shù)的HASH值,例如求字符串“abc”的MD5的HASH值,輸入命令md5 abc,會給出十進制與十六進制的結果,其中十六進制形式為:900150983CD24FB0D6963F7D28E17F72。
2.8 二次剩余計算
根據(jù)歐拉準則,計算二次剩余可以轉化為計算同余式問題,例如要計算出模11的非零二次剩余,只要解出同余式[d11-12≡1(mod 11)],也就是[d5≡1(mod 11)]。所以利用WA中的PowerModList函數(shù),輸入命令PowerModList[1, 1/5, 11],就可以輸出{1, 3, 4, 5, 9},為模11的非零二次剩余。
3 結束語
WA是非常強大、易用的知識型搜索工具,語法同Mathematica完全兼容。它不僅可以應用在網(wǎng)絡信息安全課程中,還可以用在數(shù)學、物理、化學等其他各大學科;不僅在高等教育課程中有應用價值,在初等教育中也有著廣泛的應用前景。同MATLAB相比,目前WA在國內還沒有得到應有的重視,相關研究還比較少,希望將來它能夠得到更廣泛的應用,在教育教學中發(fā)揮更大的作用。
參考文獻(References):
[1] 蒙柳.基于計算的知識搜索引擎Wolfram Alpha研究[J].圖書館學研究:應用版,2010.000(002):58-61,64
[2] 王保衛(wèi),劉黨生.WolframAlpha開啟自適應知識學習新時空[J].中國信息技術教育,2017.000(013):60-63
[3] 祁蘭.Mathematica語言在求初等數(shù)論整除性問題的應用[J].價值工程,2013.32(4):241-242
[4] 郝慶一.Wolfram Alpha在大學數(shù)學實驗教學中的應用研究[J].安慶師范學院學報:自然科學版,2016.
[5] 羅亮冰.Matlab在數(shù)論研究中的應用——用Matlab驗證哥德巴赫猜想與孿生素數(shù)猜想[J].科教導刊(中旬刊),2015.9:76-77,83
[6] 紀崗.Matlab語言在初等數(shù)論中的應用[J].福建師大福清分校學報,2013.2:19-22
[7] 楚智媛,呂闖,趙曉磊.利用matlab編程求解初等數(shù)論問題[J].中國科技信息,2020.20:47-48
[8] 蔡皖東.網(wǎng)絡信息安全技術[M].清華大學出版社,2015.
[9] 潘承洞,潘承彪.初等數(shù)論-第2版[M].北京大學出版社,2003.
[10] 張大雷,陳磊.2ip+1型素數(shù)及其原根[J].淮南師范學院學報,2017.19(5):92-93