<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AES算法中S-box和列混合單元的優(yōu)化及FPGA實(shí)現(xiàn)

          AES算法中S-box和列混合單元的優(yōu)化及FPGA實(shí)現(xiàn)

          作者: 時(shí)間:2010-12-07 來源:網(wǎng)絡(luò) 收藏

            由有限域的知識(shí)可知,復(fù)合域GF[(24)2]中每個(gè)元素都可表示為系數(shù)在GF(24)上的一次多項(xiàng)式bx+c。設(shè)定義有限域GF[(24)2]的乘法的二次不可約多項(xiàng)式x2+Ax+B,可驗(yàn)證此時(shí)GF[(24)2]中的任一元素bx+c的乘逆元素是:

            式中:(b2B+bcA+c2)-1是b2B+bcA+c2在GF(24)上的乘法逆元。各部分的邏輯實(shí)現(xiàn)過程可描述如下:

            (1)有限域GF(28)到復(fù)合域GF[(24)2]映射。通過GF(28)上的即約多項(xiàng)式p(x)=x2+Ax+B構(gòu)造線性變換T,根據(jù)式(8)將GF(28)的輸入x映射到GF(24)上的元素b,c:

            式中:B是GF(24)上的常量元素;T是一個(gè)8×8的矩陣,矩陣的元素是0或1,T矩陣由B的取值決定;A取1,B取8;

            (2)GF[(24)2]到GF(28)的逆映射。構(gòu)造線性變換T-1,GF(24)上的逆p,q映射到GF(28)上的逆元素y,如式(10)所示。其中,線性變換T-1和乘法求遞步驟(1)中的線性變換T滿足:TT-1=E。

            (3)通過域GF(24)上的運(yùn)算,求b,C的逆p,q。首先構(gòu)建GF(24),q(x)=x4+x+1作為域GF(24)上的本源多項(xiàng)式,a(x),d(x),e(x)∈GF(24)。其中,a(x)=a3x3+a2x2+a1x+a0,d(x)=d3x3+d2x2+d1x+d0,e(x)=e3x3+e2x2+e1x+e0定義域GF(24)上的加法、乘法、逆運(yùn)算。

           ?、偌臃榘次划惢颉?P> ?、诔朔槎囗?xiàng)式相乘后用q(x)取模,按公式e(x)=a(x)??d(x)mod q(x)進(jìn)行運(yùn)算;

            ③求逆根據(jù)公式公式a·a-1=1 mod q(x),計(jì)算GF(24)上元素a的逆a-1;

            構(gòu)造GF(24)上的一次多項(xiàng)式bx+c,并利用上述GF(24)上的加法、乘法和求逆運(yùn)算進(jìn)行運(yùn)算,得到GF(24)上的元素b,c的逆p,q,由式(7)可得:

            p,q的計(jì)算是中最復(fù)雜的邏輯運(yùn)算,占用了大量的邏輯關(guān)系,關(guān)于p,q的分量元素計(jì)算是由上述算法中的分量元素代入式(13)、式(14)求得。

            在這種設(shè)計(jì)方案中,求逆運(yùn)算模塊中所選用的即約多項(xiàng)式p(x)和本源多項(xiàng)式q(x)不同,減低了求逆模塊的復(fù)雜度。根據(jù)理論分析,本文中用到的p(x)和q(x)不會(huì)減低的安全性。



          關(guān)鍵詞: FPGA AES算法 S-box

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();