• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > AES算法中S-box和列混合單元的優化及FPGA實現

    AES算法中S-box和列混合單元的優化及FPGA實現

    作者: 時間:2010-12-07 來源:網絡 收藏

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

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

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

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

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

      (3)通過域GF(24)上的運算,求b,C的逆p,q。首先構建GF(24),q(x)=x4+x+1作為域GF(24)上的本源多項式,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)上的加法、乘法、逆運算。

      ①加法為按位異或。

      ②乘法為多項式相乘后用q(x)取模,按公式e(x)=a(x)??d(x)mod q(x)進行運算;

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

      構造GF(24)上的一次多項式bx+c,并利用上述GF(24)上的加法、乘法和求逆運算進行運算,得到GF(24)上的元素b,c的逆p,q,由式(7)可得:

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

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



    關鍵詞: FPGA AES算法 S-box

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 安阳市| 黔西| 亳州市| 桐梓县| 宁明县| 台东市| 石狮市| 石景山区| 太和县| 仙桃市| 东港市| 固镇县| 商南县| 韩城市| 万州区| 象州县| 静安区| 定边县| 西城区| 阜城县| 偃师市| 黔江区| 色达县| 新建县| 平江县| 镇宁| 昌吉市| 敦煌市| 土默特右旗| 武义县| 大洼县| 峨山| 玉林市| 侯马市| 疏勒县| 贵港市| 康乐县| 瑞安市| 扎兰屯市| 镇坪县| 武强县|