在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            關(guān) 閉

            新聞中心

            EEPW首頁 > 安全與國防 > 設(shè)計應(yīng)用 > 在ARM微處理器上實現(xiàn)Rijndael加密算法

            在ARM微處理器上實現(xiàn)Rijndael加密算法

            ——
            作者: 時間:2006-06-09 來源: 收藏

            引 言
                2000年10月2日,美國國家標準局NIST宣布,比利時密碼學(xué)家Joat Daemen和Vincent Rijmen設(shè)計的“RijndaeI算法”以安全性好、運算速度快、存儲要求低、靈活性強最終當選AES。該算法對目前的各種威脅是免疫的。這標志著信息技術(shù)有了新的安全工具,為計算機網(wǎng)絡(luò)和電子商務(wù)的發(fā)展提供了強有力的保障。
                在當前數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展的后PC時代,技術(shù)已經(jīng)廣泛地滲透到科學(xué)研究、工程設(shè)計、軍事技術(shù)、各類產(chǎn)業(yè)和商業(yè)文化藝術(shù)以及人們的日常生活等方方面面中,成為目前最熱門的技術(shù)之一。
                本文使用北京博創(chuàng)興業(yè)科技有限公司研制的UP-NETARM300嵌入式開發(fā)板,在ARM SDT 2.51集成開發(fā)環(huán)境下,建立基于μC/OS-Il操作系統(tǒng)的工程文件,分別調(diào)用ARM匯編程序和C程序在嵌入式微處理器上實現(xiàn)了Rijndael算法,并比較了兩者的效率。下面以分組長度和密鑰長度都是128位為例,介紹調(diào)用ARM匯編程序?qū)崿F(xiàn)加密算法的過程。本實現(xiàn)算法可以將密鑰長度擴展
            到192位或256位。


            1 Rijndael加密算法簡介
            1.1 算法流程結(jié)構(gòu)

                Rijndael加密算法的128位輸入分組用以字節(jié)為單位的正方形矩陣描述。該數(shù)組被復(fù)制到State數(shù)組。加密過程分為四個階段:密鑰擴展、輪密鑰加、Nr-1(對應(yīng)128、192、256位密鑰長度,Nr分別為10、12、14)輪變換及最后一輪變換。輪變換包括字節(jié)代換、行移位、列混淆和輪密鑰加四個過程,最后一輪變換包括字節(jié)代換、行移位和輪密鑰加三個過程。用偽C代碼表示如下:

            Rijndael (State, CipherKey)  {

            KeyExpansion (CipherKey, ExpandKey);  //密鑰擴展

            AddRoundKey (State, RoundKey);  //輪密鑰加

            For (i=1;i<Nr;i++)  

            Round (State, ExpandKey+4*i);  //輪變換

            FinalRound (State, ExpandKey+4 * Nr);  //最后一輪變換}

            Round (State, RoundKey){  //輪變換

            SubByte (State);  //字節(jié)代換

            ShiftRow(State);  //行移位

            MixColumn(State);  //列混淆

            AddRoundKey(State, RoundKey);  輪密鑰加

            FinalRound(State, RoundKey) {  //最后一輪變換

            SubByte(State);

            ShiftRow(State);

            AddRoundKey(State,RoundKey); 
            1. 2算法所使用的主要變換
            (1)字節(jié)代換SubByte
                用一個簡單的查表操作代替了基于矩陣乘法的復(fù)雜仿射變換。Rijndael定義了一個16



            關(guān)鍵詞: 單片機 嵌入式系統(tǒng)

            評論


            相關(guān)推薦

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

            關(guān)閉