問題:AES128和AES256主要區別和安全程度是多少?他們對於機器的消耗是怎樣的?兩者性能如何?實際開發如何選擇?
AES128在非量子計算環境下(多項式時間敵手假設),可以保證絕對安全。yanghm這哥們說10年後能破解,這是什麼意思呢?是說10年後的2025年開始,全世界所有的計算資源瘋了一樣全部撲到一個明密文對上,然後時間過了1000年,來到了3025年,終於破解了這一個用戶的一個密碼了。想破解第二個,就要再計算幾十年。這就叫絕對安全。
在這種絕對安全之下,沒有任何必要使用AES256。AES256一共有14輪輪運算,因此效率是只具有10輪輪運算的AES128的70%。然而,NIST要求絕密級文件必須使用AES192或者256。這是因為量子計算技術。現存的量子演算法可以降低窮盡密鑰搜索的複雜度。AES128在量子演算法看來,只提供64位的安全性,等於個DES。夠用,況且量子計算機尚未誕生,只是理論產物。但NSA仍然謹慎有加。僅此而已。
AES256還有一個不如128的地方,易受相關鑰匙攻擊。不過對於加密應用來講,不是問題,因為加密應用不使用相關鑰匙。但是他會影響到以AES256為primitive的混淆演算法,如HIROSE-AES-256。
所有開發項目中,如果不是出於興趣/研究/宣傳原因,一律使用AES128。
----
2015-11-06新聞:D-wave量子退火機已經演化到了1024位,如果有人專門建設一個窮盡密鑰搜索的量子退火機,並非不可能。所以儘管可預見的未來中128仍舊安全可用,然而從長遠來看遷移192、256難以避免。
量子演算法的優勢在於,可以降低 位密鑰的窮盡搜索時間為 。可以證明,沒有更好的演算法可以帶來更低的時間(不清楚是否包括時間存儲平衡演算法)。換言之,當量子演算法窮盡搜索AES256,則AES256將至少提供128位安全。
開發時需要注意好代碼可擴展性,如此則遷移是無痛的。舉例:按照FIPS-PUB的標準製作的程序,則一個程序實現三種變形,只不過通過nk、nr參數控制了密鑰擴展和加解密過程的for循環的次數不同而已。
----2015-12-26是該祭出這張圖的時候了
最近的項目中用到無線鏈路加密,最後討論的結果是使用AES128,兼顧效率與安全性。
256的秘鑰不是有出口限制嗎?
現階段都可靠。根據計算技術的發展,AES128 可能在10年後就可以輕鬆破解,但AES256需要等20年。
推薦閱讀:
※密碼學與黑客技術有什麼關係?
※跪求神人解這個密碼:744x0l?
※在知道某個比特幣地址的情況下,是否有可能通過破解私鑰來攻破該賬戶?
※HOPE, zjo np mjoh, 19/2, never-1, enqfds是什麼意思?
※解一個有趣的數學(圖論、資訊理論)問題?