導航:首頁 > 源碼編譯 > aes演算法的缺點

aes演算法的缺點

發布時間:2022-05-08 09:32:11

A. AES加密演算法怎樣進行改進

AES演算法基於排列和置換運算。排列是對數據重新進行安排,置換是將一個數據單元替換為另一個。AES使用幾種不同的方法來執行排列和置換運算。AES是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192和256位密鑰,並且用128位(16位元組)分組加密和解密數據。與公共密鑰加密使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數據。通過分組密碼返回的加密數據的位數與輸入數據相同。迭代加密使用一個循環結構,在該循環中重復置換和替換輸入數據。密碼學簡介據記載,公元前400年,古希臘人發明了置換密碼。1881年世界上的第一個電話保密專利出現。在第二次世界大戰期間,德國軍方啟用「恩尼格瑪」密碼機,密碼學在戰爭中起著非常重要的作用。
AES加密演算法主要步驟
1.1 AES演算法整體描述
l 給定一個明文x,將State初始化為x,並進行AddRoundKey操作,將RoundKey與State異或。
l 對前Nr-1輪中的每一輪,用S盒對進行一次代換操作,稱為SubBytes;對State做一置換ShiftRows;再對State做一次操作MixColumns;然後進行AddRoundKey操作。
l 依次進行SubBytes、ShiftRows和AddRoundKey操作。
l 將State定義為密文y。
1.2 偽代碼
Cipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)])
begin
byte state[4,Nb]
state = in
AddRoundKey(state, w[0, Nb-1])
for round = 1 step 1 to Nr-1
SubBytes(state)
ShiftRows(state)
MixColumns(state)
AddRoundKey(state, w[round*Nb, (round+1)*Nb-1])
end for
SubBytes(state)
ShiftRows(state)
AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1])
out = state
end
2 KeyExpansion()實現
2.1要求
將128 bit的密鑰擴展至加密過程中的9輪循環,再上初始及最後2輪,需構造11輪密鑰。每一輪密鑰由4個字組成。每個字由4個byte組成。
2.2 演算法設計
輸入:byte[] key, byte[] w //key為密鑰 w為擴展的密鑰
輸出:byte[] w //擴展密鑰 長度為4 * 4 * 11
處理:
1)建立一個4 byte的一維數組,存放一個字。Byte[] temp;
2)將密鑰key[0..15]送至w[0..15];//已賦值4個字給w。
3) for I = 4 to 43
//以下每次處理一個字(32 bit)
temp = w[I-1];
if (I = 0 mod 4) //處理一個字 then
for j = 1 to 4 //字的4 byte處理
在此循環中取temp數組下標的次序為1,2,3,0 //RotWord 操作
如果是字的首byte,取Rcon常數Rcon(I/4);
temp[j] = Sbox(temp[ (j + 1) /4]^Rcon常數
end for
temp = SubWord(RotWord(temp))⊕Rcon[i/4]
end if
w[I] = w[I-4]⊕temp;
end for
4) 輸出w
3多項式乘法mod GF(28)運算
3.1要求
將兩個byte在有限域GF(28)按多項式乘法,並mod 不可約多項式m(x)=x8+x4+x3+x+1。
3.2 演算法設計
輸入:byte a ,byte b
輸出:byte r
數學基礎:
GF(28)有限域性質:兩個元素的加法與兩個位元組按位模2加是一致的;乘法滿足結合律;
考慮多項式中的一項aixi(i∈0-7),用一次x乘以多項式:
b(x) = b7x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x + b0,
得到
b7x8 + b6x7 + b5x6 + b4x5 + b3x4 + b2x3 + b1x2 + b0x (式1)
將結果模m(x)求余得到x*b(x)。
如果b7 = 0,則式1就是x*b(x)。
如果b7 不等於0,則必須從式1中減去m(x)後結果為x*b(x)。用x乘一個多項式簡稱x乘。
由此得出,aixi 乘以b(x),可以作i次x乘。x(十六進製表示為0x02)乘可以用位元組內左移一位和緊接著的一個與0x1b的按位模2加來實現,該運算暫記為xtime()。X的更高次的乘法可以通過重復應用xtime()來實現。通過將中間結果相加,任意乘法都可以利用xtime()來實現。例如:
57 * 13 = fe ,這是因為:
57 * 02 = xtime(57) = ae
57 * 04 = xtime(ae) = 47
57 * 08 = xtime(47) = 8e
57 * 10 = xtime(8e) = 07
所以
57 * 13 = 57 * ( 01⊕ 02 ⊕10 )
= 57⊕ ae⊕ 07
= fe

4 Sbox生成
4.1要求
一個位元組byte看作為一個在有限域GF(28)的多項式,求出它關於模m(x)的乘法逆,之後將該乘法逆在GF(2)上作仿射變換。
4.2 演算法設計
輸入:byte a
輸出:byte[] S
數學邏輯:
由有限域GF(28)性質。某個生成元(也是本原元)a,其a^(28-1) ≡ 1 mod m(x)。或a255 ≡ 1 mod m(x)。另外,a的從1到28-1的冪的值是構成了有限域GF(28)。
由乘法逆的性質b * b -1 ≡ 1。求乘法逆可簡化如下
設 x = am ,設y是x的乘法逆,則y = a255-m
處理:
建立三個一組數組,分別為:byte S[255],byte L[255],byte E[255]。
取本原元為a = 0x03,
將a的0,1,2…255次方mod m(x)分另送至數組L中。a的運算參考前面的多項式乘法運算。如下偽碼:
For i = 0 to 255
L[i] = ai (式2)
End for
為方便計算乘法逆的指數,數組E存放ai的冪指數i。將式2中ai值為數組E的下標,而將ai在數組L中的下標i作為數組E中對應的值。對應(式2)每一項有E[ai] = i。
由上面兩個數組L,E,可得到GF(28)域中的任一byte的乘法逆。
設位元組c它由ai生成的。其中a是GF(28)域中的生成元。欲求c的乘法逆。只需要找到a255-i即可。在數組E中可以由c查出生成元a的冪指數i。c-1的冪指數255-i。所以c-1 = L[255-i]。
對每一個位元組byte根據以上內容得到乘法逆,作仿射變換得到數組S。即為Sbox

B. DES和AES演算法的比較,各自優缺點

DES與AES的比較研究
聶定遠;李小俊
討論了目前主要的一些數據加密演算法、DES演算法及高級加密標准(AES)的Rijndael演算法。比較了DES、AES對稱密碼演算法,得出AES具有比DES更好的安全性、效率、靈活性的結論。
【作者單位】:中國地質大學信息工程學院 湖北武漢430074
【關鍵詞】:密碼演算法;數據加密;DES;AES
【分類號】:TN918.1
【DOI】:CNKI:ISSN:1672-7800.0.2007-05-012
【正文快照】:
1DES演算法介紹DES演算法具有對稱性,既可以用於加密又可以用於解密。對稱性帶來的一個很大的好處在於硬體實現,DES的加密和解密可以用完全相同的硬體來實現。DES演算法的明文分組是64位,輸出密文也是64位。所以密鑰的有效位數是56位,加上校驗位共64位。總體流程如表1所示:輸入的64位明文,先經初始IP變換,形成64位數據,64位數據被分為兩部分,分別是L部分和R部分;L和R經過16次迭代,形成新的64位;新的64位數據再經初始逆變換,輸出64位密文。初始置換和逆初始置換是簡單的移位操作。在迭代過程這一步驟,替代是在密鑰控制下進行的,而移位是按…
推薦 CAJ下載 PDF下載

C. 無線路由器加密演算法tkip和aes有什麼區別

一、安全性能不同

TKIP本質上是一個WEP補丁,解決了攻擊者通過獲得少量的路由器流量解析出路由器密鑰的問題。TKIP還提供了一個較為完善的安全升級,但是對於保護網路不受黑客攻擊上不夠全面。

AES是一個完全獨立的加密演算法,遠遠優於任何TKIP提供的演算法,該演算法有128位,192位或256位的分組密碼。所以AES安全性能比TKIP好。

二、速度不同

TKIP是一種過時的加密方法,而且除了安全問題,它還會減緩系統運行速度,速度會減慢至54Mbps。

支持WPA2-AES加密的802.11ac理想條件下最大速度為3.46Gbps。所以AES的運行速度相較於TKIP要快。

三、密鑰長度不同

TKIP中密碼使用的密鑰長度為128位,這就解決了WEP密碼使用的密鑰長度過短的問題。

AES 是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192 和 256 位密鑰,並且用 128 位(16位元組)分組加密和解密數據。

D. aes演算法是什麼

AES:Advanced Encryption Standard(高級加密標准),是美國國家標准與技術研究所用於加密電子數據的規范,該演算法匯聚了設計簡單、密鑰安裝快、需要的內存空間少、在所有的平台上運行良好、支持並行處理並且可以抵抗所有已知攻擊等優點。

AES是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192 和 256 位密鑰,並且用 128 位(16位元組)分組加密和解密數據。

AES具有應用范圍廣

等待時間短、相對容易隱藏、吞吐量高等優點,在性能等各方面都優於WEP演算法。利用此演算法加密,WLAN的安全性將會獲得大幅度提高。AES演算法已經在802.11i標准中得到最終確認,成為取代WEP的新一代的加密演算法。但是由於AES演算法對硬體要求比較高,因此AES無法通過在原有設備上升級固件實現,必須重新設計晶元。

以上內容參考:網路-AES技術

E. aes演算法最新攻擊手段

DES演算法優點:DES演算法具有極高安全性,到目前為止,除了用窮舉搜索法對DES演算法進行攻擊外,還沒有發現更有效的辦法。

DES演算法缺點:

1、分組比較短。

2、密鑰太短。

3、密碼生命周期短。

4、運算速度較慢。

AES演算法優點:

1、運算速度快。

2、對內存的需求非常低,適合於受限環境。

3、分組長度和密鑰長度設計靈活。

4、 AES標准支持可變分組長度,分組長度可設定為32比特的任意倍數,最小值為128比特,最大值為256比特。

5、 AES的密鑰長度比DES大,它也可設定為32比特的任意倍數,最小值為128比特,最大值為256比特,所以用窮舉法是不可能破解的。

6、很好的抵抗差分密碼分析及線性密碼分析的能力。

AES演算法缺點:目前尚未存在對AES 演算法完整版的成功攻擊,但已經提出對其簡化演算法的攻擊。

(5)aes演算法的缺點擴展閱讀:

高級加密標准(英語:Advanced Encryption Standard,縮寫:AES),在密碼學中又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標准。

這個標准用來替代原先的DES,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高級加密標准由美國國家標准與技術研究院(NIST)於2001年11月26日發布於FIPS PUB 197,並在2002年5月26日成為有效的標准。2006年,高級加密標准已然成為對稱密鑰加密中最流行的演算法之一。

F. aes加密安全嗎

AES演算法作為DES演算法和MD5演算法的替代產品,10輪循環到目前為止還沒有被破解。一般多數人的意見是:它是目前可獲得的最安全的加密演算法。AES與目前使用廣泛的加密演算法─DES演算法的差別在於,如果一秒可以解DES,則仍需要花費1490000億年才可破解AES,由此可知AES的安全性。AES 已被列為比任何現今其它對稱加密演算法更安全的一種演算法。

G. aes des rsa的加密演算法有什麼區別通俗簡單講,就是各個的優點和缺點,不要太深奧

aes/des加密速度快,適合大量數據,des容易破解,一般用3重des,後來又出現了更快更安全的aes
rsa是公鑰加密,速度慢,只能處理少量數據,優點是公鑰即使在不安全的網路上公開,也能保證安全
常見情況是雙方用rsa協商出一個密鑰後通過aes/3des給數據加密

H. aes演算法中哪種模式不安全

應該是ecb的模式,因為ecb掩蓋不了明文結構信息,難以抵抗統計分析攻擊。可對明文進行主動攻擊。

I. 幾種常用數據加密演算法的比較

幾種對稱性加密演算法:AES,DES,3DES
DES是一種分組數據加密技術(先將數據分成固定長度的小數據塊,之後進行加密),速度較快,適用於大量數據加密,而3DES是一種基於DES的加密演算法,使用3個不同密匙對同一個分組數據塊進行3次加密,如此以使得密文強度更高。
相較於DES和3DES演算法而言,AES演算法有著更高的速度和資源使用效率,安全級別也較之更高了,被稱為下一代加密標准。
幾種非對稱性加密演算法:RSA,DSA,ECC
RSA和DSA的安全性及其它各方面性能都差不多,而ECC較之則有著很多的性能優越,包括處理速度,帶寬要求,存儲空間等等。
幾種線性散列演算法(簽名演算法):MD5,SHA1,HMAC
這幾種演算法只生成一串不可逆的密文,經常用其效驗數據傳輸過程中是否經過修改,因為相同的生成演算法對於同一明文只會生成唯一的密文,若相同演算法生成的密文不同,則證明傳輸數據進行過了修改。通常在數據傳說過程前,使用MD5和SHA1演算法均需要發送和接收數據雙方在數據傳送之前就知道密匙生成演算法,而HMAC與之不同的是需要生成一個密匙,發送方用此密匙對數據進行摘要處理(生成密文),接收方再利用此密匙對接收到的數據進行摘要處理,再判斷生成的密文是否相同。
對於各種加密演算法的選用:
由於對稱加密演算法的密鑰管理是一個復雜的過程,密鑰的管理直接決定著他的安全性,因此當數據量很小時,我們可以考慮採用非對稱加密演算法。
在實際的操作過程中,我們通常採用的方式是:採用非對稱加密演算法管理對稱演算法的密鑰,然後用對稱加密演算法加密數據,這樣我們就集成了兩類加密演算法的優點,既實現了加密速度快的優點,又實現了安全方便管理密鑰的優點。
如果在選定了加密演算法後,那採用多少位的密鑰呢?一般來說,密鑰越長,運行的速度就越慢,應該根據的我們實際需要的安全級別來選擇,一般來說,RSA建議採用1024位的數字,ECC建議採用160位,AES採用128為即可。

J. DES和AES演算法的比較,各自優缺點有哪些

一、數據加密標准不同

1、DES演算法的入口參數有三個:Key、Data、Mode。

其中Key為7個位元組共56位,是DES演算法的工作密鑰;Data為8個位元組64位,是要被加密或被解密的數據;Mode為DES的工作方式,有兩種:加密或解密。

2、AES的基本要求是,採用對稱分組密碼體制,密鑰的長度最少支持為128、192、256,分組長度128位,演算法應易於各種硬體和軟體實現。

因此AES的密鑰長度比DES大, 它也可設定為32比特的任意倍數,最小值為128比特,最大值為256 比特,所以用窮舉法是不可能破解的。

二、運行速度不同

1、作為分組密碼,DES的加密單位僅有64位二進制,這對於數據傳輸來說太小,因為每個分組僅含8個字元,而且其中某些位還要用於奇偶校驗或其他通訊開銷。處理速度慢、加密耗時

2、AES對內存的需求非常低,運算速度快,在有反饋模式、無反饋模式的軟硬體中,Rijndael都表現出非常好的性能。

三、適用范圍不同

1、數據加密標准,速度較快,適用於加密大量數據的場合。DES在安全上是脆弱的,但由於快速DES晶元的大量生產,使得DES仍能暫時繼續使用,為提高安全強度,通常使用獨立密鑰的三級DES

2、AES 適用於8位的小型單片機或者普通的32位微處理器,並且適合用專門的硬體實現,硬體實現能夠使其吞吐量(每秒可以到達的加密/解密bit數)達到十億量級。同樣,其也適用於RFID系統。

閱讀全文

與aes演算法的缺點相關的資料

熱點內容
西安java培訓 瀏覽:298
蘋果用戶app如何退款 瀏覽:889
解壓方式就是喝酒 瀏覽:396
麥塊怎麼添加到游戲伺服器 瀏覽:962
噴油螺桿製冷壓縮機 瀏覽:581
python員工信息登記表 瀏覽:377
高中美術pdf 瀏覽:161
java實現排列 瀏覽:513
javavector的用法 瀏覽:982
osi實現加密的三層 瀏覽:233
大眾寶來原廠中控如何安裝app 瀏覽:916
linux內核根文件系統 瀏覽:243
3d的命令面板不見了 瀏覽:526
武漢理工大學伺服器ip地址 瀏覽:149
亞馬遜雲伺服器登錄 瀏覽:525
安卓手機如何進行文件處理 瀏覽:71
mysql執行系統命令 瀏覽:930
php支持curlhttps 瀏覽:143
新預演算法責任 瀏覽:444
伺服器如何處理5萬人同時在線 瀏覽:251