网安自学之路-信息安全数学基础(五)-近世代数
前言
本人跨專業考研上岸網絡空間安全專業,本科期間除了C語言外完全0基礎,為了研究生期間跟得上學校進度,開啟自學之路。在知乎上找了找經驗,買了本《深入淺出密碼學》開始入門密碼學。看了不到兩章,就被用到的整數環、mod運算給難住了,遂又開始補習密碼學所需要的數學基礎。為了保持自己的學習動力和加強記憶,開始隨學習進度更新學習筆記和個人理解。
Tip
課程為哈爾濱工業大學韓琦老師所講的信息安全數學基礎課程,筆記也是本人所做該課程的隨堂筆記。文章中包含個人為方便記憶所做的個人理解,因本人水平有限,疏漏或理解錯誤在所難免,歡迎批評指正!
四、近世代數
這一章基于前三章定義的數學概念及其性質,開始系統地學習近代的密碼學標準或數學原理。首先是基于有限域的多項式表示法所表示的高級加密數據標準(AES),其定義如下:
多項式或字節表示的加法和乘法如下例所示:
需要注意的是,課上并沒有給出乘法的字節表示,自己推算了一下發現由于是在有限域內的乘法,不同于一般的二進制乘法,不會產生進位,這樣才是正確的結果。
字節的按模移位通過定義倍乘函數來實現:
而且類似于按模乘法,按模移位也不同于一般的移位操作:
例一的結果恰好是原字節左移一位得到的,可能會對按模移位產生誤解。例二中,若是普通的左移應是00100110,但按模移位給出的結果則為:00111101,所以利用倍乘函數移位時還是應按照概念按步驟計算。
關于橢圓曲線,與韋爾斯特拉斯方程有關:
定義域k上的橢圓曲線如下:
值得注意的是,對橢圓曲線可以有更深層次的認識:
仔細研究一下橢圓曲線的定義:域k上的點集E稱為域k上的橢圓曲線,即表明E實際上是一個集合,對于集合我們已經很熟悉了,通過定義集合上的運算法則和單位元等就可以組成群、環、域等。類似的,定義E上加法:
這是一個很幾何的定義,我們來看兩個圖例,分別對應了P、Q同點或不同點的情況:
對于E上加法,有如下性質(本來想嘗試證明的,發現需要很強的幾何能力,實在搞不出來。鑒于只是一個基礎課程,記住并且會用就行。):
對于藍字的解釋,回想一下群定義時的概念:
性質5使得E滿足G1,性質2對應滿足G2,將O視為單位元后,性質4滿足G3,性質3滿足G4。即三元組(E,⊕,O)滿足G1,G2,G3,G4構成交換群。
看完幾何上的結果,橢圓曲線的數學表示為:
以上均是橢圓曲線得理論結果,但密碼學領域實際使用的橢圓曲線則較為簡單:
定義后的第一個問題就是如何求點集(或稱橢圓曲線)Ep(a,b)?
則點集上的加法定義為:
接著就是具體算法的介紹了:
總結
以上是生活随笔為你收集整理的网安自学之路-信息安全数学基础(五)-近世代数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 近世代数——Part2 群:基础与子群
- 下一篇: Java多线程系列--“JUC锁”05之