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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于AES算法實(shí)現(xiàn)對數(shù)據(jù)的加密

          基于AES算法實(shí)現(xiàn)對數(shù)據(jù)的加密

          作者: 時間:2009-07-30 來源:網(wǎng)絡(luò) 收藏
          ShiftRows是一個置換操作,它將State矩陣中的字節(jié)向左旋轉(zhuǎn)。如表4所示,State的第0行被向左旋轉(zhuǎn)0個位置,State的第1行被向左旋轉(zhuǎn)1個位置,State的第2行被向左旋轉(zhuǎn)2個位置,而State的第3行被向左旋轉(zhuǎn)3個位置。
          MixColumns是一個代替操作,它用State字節(jié)列的值進(jìn)行數(shù)學(xué)域加和域乘的結(jié)果代替每個字節(jié)。
          AddRoundKey(輪密鑰加),用密鑰調(diào)度表中的前4行對State矩陣實(shí)行一個字節(jié)一個字節(jié)的異或(XOR)操作,并用輪密鑰表w[e,r]異或輸入的State[r.c]。SubBytes、ShiftRows、MixColumns和AddRoundKev 4個操作在一個執(zhí)行Nr次的循環(huán)里被調(diào)用,Nr為給定密鑰大小的輪數(shù)減l。使用的輪數(shù)或是10,12,或是14,這依賴于種子密鑰長度是128位、192位還是256位。在這里,因?yàn)镹r等于12,則這4個操作被調(diào)用11次。該迭代完成后,在拷貝State矩陣到輸出參數(shù)前,調(diào)用SubBytes、ShiftRows和AddRoundKey后結(jié)束。
          的核心有4個操作,AddRoundKey使用從種子密鑰值中生成的輪密鑰代替4組字節(jié)。SubBytes替換用一個代替表替換單個字節(jié)。ShiftRows通過旋轉(zhuǎn)4字節(jié)行的4組字節(jié)進(jìn)行序列置換。MixColumns用域加和域乘的組合來替換字節(jié)。

          本文引用地址:http://www.ex-cimer.com/article/188789.htm

          4 結(jié)語
          相對DES算法,算法的實(shí)現(xiàn)更簡單.同時由于算法具備很強(qiáng)的擴(kuò)散性能,最終形成的密碼有很高的隨機(jī)性,抗分析攻擊能力強(qiáng)。在軟件工程中,更便于制作成通用的加密對象類型或加密標(biāo)準(zhǔn)組件,在不降低安全性能的條件下,極大的簡化數(shù)據(jù)加密程序的開發(fā)難度。
          AES算法的實(shí)現(xiàn)程序,對處理器性能、內(nèi)存的需求量等方面的要求低,可以廣泛的應(yīng)用到智能卡、衛(wèi)星通信、數(shù)字電視、流式媒體、加密鍵盤、ATM、CDM等智能設(shè)備中,可提供很高的安全性能,因此,AES將在今后很長時間內(nèi)具備廣闊的應(yīng)用前景。


          上一頁 1 2 下一頁

          關(guān)鍵詞: AES 算法 對數(shù) 加密

          評論


          相關(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); })();