新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用AVR匯編語言實(shí)現(xiàn)AES及其優(yōu)化

        用AVR匯編語言實(shí)現(xiàn)AES及其優(yōu)化

        作者: 時間:2012-03-28 來源:網(wǎng)絡(luò) 收藏

        27.gif
        圖1 的加密和解密流程

        2 加密、解密算法的

        由以上算法的流程中可以清楚地看到,整個算法中程序耗時最多的就是圈變化部分,因此對于算法的也就在此;而圈變化部分可以的也就是列變化。因為列變化是一個模乘同余規(guī)則。由于加密和解密是不對稱的,如果不對其進(jìn)行優(yōu)化,會使算法的解密速度遠(yuǎn)遠(yuǎn)大于加密的速度[1]。

        ① 加密運(yùn)算。對列變換(Mixcolumn)可以通過調(diào)用xtime子程序進(jìn)行優(yōu)化。具體算法[1]如下:

        29.gif

        另一種有效的優(yōu)化方法就是離線構(gòu)造一個表格,即列變化表格。這樣只要通過查表的方式就可以提高加密速度。

        ② 解密算法的優(yōu)化。由于解密的列變換的系數(shù)分別是09、0E、0B和0D。在單片機(jī)上以上的乘法顯然是需要很多的時間,從而導(dǎo)致了解密的性能降低。

        優(yōu)化方法一:對列變化進(jìn)行分解使倍乘次數(shù)降低。

        仔細(xì)研究解密矩陣的系數(shù),不難發(fā)現(xiàn)解密矩陣和加密矩陣有著一定的聯(lián)系,即解密矩陣等于加密矩陣和一個矩陣的相乘。通過這樣的聯(lián)系,就可以對算法進(jìn)行優(yōu)化:

        這樣一來,只用幾個簡單的“異或”就可以列變化,使倍乘的次數(shù)降低,提高解密的速度。

        優(yōu)化方法二:構(gòu)造表格。

        同加密構(gòu)造方法一樣,可以構(gòu)造四個表格T[ea]=e×a; T[9a]=9×a;T[9a]=9×a;T[ba]=b×a。這樣一來,也只需要進(jìn)行查表和簡單的異或就可以完成解密的任務(wù)。雖然這種方法將增加額外的開銷,但是它卻是一種有效的方法。



        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 张家川| 探索| 贺兰县| 浙江省| 天水市| 久治县| 瑞丽市| 林芝县| 泰兴市| 武夷山市| 兴和县| 嘉定区| 新泰市| 始兴县| 奎屯市| 长海县| 鄂伦春自治旗| 安溪县| 三门峡市| 梁山县| 嘉荫县| 乌什县| 柯坪县| 阳西县| 玉林市| 石台县| 延长县| 宁海县| 平利县| 遂昌县| 纳雍县| 二连浩特市| 永新县| 两当县| 兴城市| 全南县| 通城县| 天津市| 福清市| 宁德市| 都昌县|