AES算法相关数学知识 - 素域学习
? ? 在AES算法中的MixColumn層中會用到伽羅瓦域中的乘法運算,而伽羅瓦域的運算涉及一些數(shù)學(xué)知識如下;
素域
有限域有時也稱伽羅瓦域,它指的是由有限個元素組成的集合,在這個集合內(nèi)可以執(zhí)行加、減、乘和逆運算。而在密碼編碼學(xué)中,我們只研究擁有有限個元素的域,也就是有限域。域中包含元素的個數(shù)稱為域的階。
? ? 只有當m是一個素數(shù)冪時,即m=pn(其中n為正整數(shù)是p的次數(shù),p為素數(shù)),階為m的域才存在。p稱為這個有限域的特征。也就是說,有限域中元素的個數(shù)可以是11(p=11是一個素數(shù),n=1)、可以是81(p=3是一個素數(shù),n=4)、也可以是256(p=2是一個素數(shù),n=8).....但有限域的中不可能擁有12個元素,因為12=2·2·3,因此12也不是一個素數(shù)冪。
? ? 有限域中最直觀的例子就是階為素數(shù)的域,即n=1的域。的元素可以用整數(shù)0、1、...、p-1l來表示。域的兩種操作就是模整數(shù)加法和整數(shù)乘法模p。加上p是一個素數(shù),整數(shù)環(huán)Z表示為GF(p),也成為擁有素數(shù)個元素的素數(shù)域或者伽羅瓦域。GF(p)中所有的非零元素都存在逆元,GF(p)內(nèi)所有的運算都是模p實現(xiàn)的。
素域內(nèi)的算數(shù)運算規(guī)則如下:
(1)加法和乘法都是通過模p實現(xiàn)的;
(2)任何一個元素a的加法逆元都是由a+(a的逆元)=0 mod p得到的;
(3)任何一個非零元素a的乘法逆元定義為a·a的逆元=1。
例:在素域GF(5)={0、1、2、3、4}中,2的加法逆元為3,這是因為2+(3)=5,5mod5=0,所以2+3=5mod5=0。2的乘法逆元為3,這是因為2·3=6,6mod5=1,所以2·3=6mod5=1。(在很多地方a的加法逆元用-a表示,a的乘法逆元用1/a表示)
注:GF(2)是一個非常重要的素域,也是存在的最小的有限域,由于GF(2)的加法,即模2加法與異或(XOR)門等價,GF(2)的乘法與邏輯與(AND)門等價,所以GF(2)對AES非常重要。
先了解一下;還不能編碼;概念還未理解完;AES是DES的繼任者;
總結(jié)
以上是生活随笔為你收集整理的AES算法相关数学知识 - 素域学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 了解ReactOS调试
- 下一篇: 模p加法和模p乘法学习