新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 一種AES密碼算法的硬件實現

        一種AES密碼算法的硬件實現

        作者: 時間:2010-10-15 來源:網絡 收藏

        0 引言
        密碼模塊是安全保密系統的重要組成部分,其核心任務就是加/解密數據。目前,分組以其高效率、低開銷、實現簡單等特點被廣泛應用于密碼模塊的研制。隨著計算機信息技術和超大規模集成電路技術的成熟與發展,通過硬件來實現密鑰模塊的內部運作,可保證在外界無密鑰的明文流動,能夠實現真正意義上的保密。此外,還具有高速、高可靠性等特點。目前許多算法的采用基于RAM查找表方式來實現算法中最關鍵的SubBytes部分。本文采用復合域來實現SubBytes部分的求逆運算,以便于采用組合邏輯減小面積。同時采用加/解密運算中列變換的部分電路進行復用,從而進一步節省實現面積。這樣可以使密碼應用于RFID系統,IC卡等面積要求較小的場合。

        1 AES算法簡介
        AES算法是一種迭代型分組密碼,其分組長度和密鑰長度均可變,各自可以獨立指定為128 b,192 b,256 b。本文主要討論分組長度和密鑰長度為128 b的情況。AES算法是將輸入的明文(或密文)分成16個字節,在第一個Add Round Keys變換后進入10輪迭代。迭代過程的前9輪完全相同,依次經過字節代替(substitute bytes)、行移位(shift rows)、列混合(mixcolumns)、輪密鑰加(add round keys),最后一輪則跳過了列混合(mix columns)。解密過程與加密過程類似,但執行順序與描述內容有所不同,因此AES算法的加解密運算需要分別實現。

        2 AES算法的硬件設計
        根據AES算法的原理和基本結構,將整個AES算法模塊分成4個相對獨立的子模塊:接口模塊、控制單元模塊、加解密運算模塊、密鑰擴展模塊。本文所設計的不包括密鑰發生器,所用的密鑰通過接口模塊由外部輸入,加解密運算后的數據經輸出接口輸出。AES算法模塊的總體結構如圖1所示。

        本文引用地址:http://www.104case.com/article/187767.htm


        2.1 接口模塊的設計
        輸入接口模塊的主要任務是:將數據傳送到加解密運算模塊,將外部輸入的密鑰傳送到密鑰擴展模塊。由于明文和密鑰輸入都是128位,將導致整個模塊的輸入/輸出過多,占用太多資源,考慮到本文的設計主要應用于對面積要求較小的場合使用,如RFID系統中數據的傳輸,即每次傳輸的數據是64位,故采用4個32位寄存器,在時鐘的控制下每次輸入1組32位,通過4個時鐘周期可得到128位的數據,可以有效減少資源的占用。輸出接口模塊的作用是將128位的解密運算結果輸出,同樣也采取32位分4組輸出的方法。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 怀集县| 剑河县| 怀柔区| 淅川县| 盐城市| 抚宁县| 梧州市| 阿瓦提县| 洛扎县| 阳原县| 长兴县| 长乐市| 昌乐县| 兴国县| 洛阳市| 台州市| 东宁县| 孝义市| 斗六市| 县级市| 山阴县| 昌平区| 蓬溪县| 定陶县| 大港区| 巴青县| 阜宁县| 通渭县| 饶平县| 蛟河市| 宝鸡市| 姜堰市| 保山市| 靖宇县| 上蔡县| 沙雅县| 穆棱市| 安阳县| 万州区| 宜章县| 贡觉县|