什麼是AES加密及其在2023年如何工作? 256位與128位
現在,我們已經簡要介紹了加密的作用以及協議的快速歷史,現在該研究AES加密的細節了.
128或256位加密:我應該使用哪個?
在討論對稱加密算法(例如高級加密標準(AES))時,您可能一直在考慮使用AES-128或AES-256. 最後三位數字代表秘密鑰匙的長度 – 將其視為物理鑰匙中的牙齒數量. 從安全角度來看,一個256位的秘密密鑰顯然更好,但是您選擇的兩個選項中的哪一個真的很重要? 本文介紹了AES-128和AES-256的一些主要安全考慮因素.
蠻
蠻力鑰匙猜測攻擊是攻擊者嘗試每個潛在的秘密鑰匙,直到找到正確的鑰匙. 這種攻擊可以保證成功(最終),並且(理想情況下)應該是打破加密算法的最快方法.
在討論蠻力攻擊保護時,了解什麼不同的關鍵長度是必不可少的. 隨著量子計算即將到來的到來,也很高興知道它們將如何影響加密安全性. AES的當前形式足夠強?
關鍵長度的差異
128和256位加密算法之間的主要區別是它們使用的秘密鍵的長度. AES-128和AES-256中的128和256表示兩種算法分別使用128位和256位鍵.
秘密鑰匙的時間越長,攻擊者通過蠻力攻擊猜測越難. 但是,AES-256不僅是AES-128的兩倍.
AES-128和AES-256分別具有128位和256位的秘密鍵,分別具有2 128和2 256個潛在的秘密鑰匙. 使用二進制鍵,每個位添加到鑰匙長度都會加倍鍵空間. 這意味著AES-256具有2^128或340,282,366,920,920,938,463,463,463,374,607,431,768,211,456,是AES-128倍.
結果,對AES-256密鑰的蠻力攻擊要比AES-128鍵要困難得多. 但是,即使是128位的鑰匙也可以保護現代技術的攻擊. 在其頂峰上,比特幣網絡 – 可以說是密碼學的最大現代使用計算能力 – 每秒執行了大約150*10^18≈2^67操作. 假設這些操作與蠻力攻擊相同,那麼比特幣網絡將超過70,000,000,000,000,000,000,000,000,000,000,000,000,000萬年來破解單個AES-128密鑰.
抵抗量子計算
量子計算對密碼學的威脅已經廣泛發布. 量子計算機的工作方式與經典計算機的工作方式有所不同,量子算法可以使對密碼學的攻擊更加有效.
對於不對稱加密算法(如RSA),量子計算完全打破了它們. 但是,對於AES等對稱算法,Grover的算法是攻擊這些加密算法的最著名算法 – 只會削弱它們. Grover的算法將對稱加密算法的有效密鑰長度降低了一半,因此AES-128的有效密鑰空間為2^64,而AES-256的有效密鑰空間為2^128.
但是,儘管這似乎很重要,但這並沒有破壞任何一種算法. 使用正確的量子計算機,AES-128大約需要2.61*10^12年的破解,而AES-256將佔2年.29*10^32年. 作為參考,宇宙目前約為1.38×10^10年的歷史,因此用量子計算機破解AES-128的時間比宇宙的長度約為200倍.
這也使攻擊者俱有“正確”量子計算機的假設. 破解AES-128估計需要2,953個邏輯Qubit,AES-256將需要6,681. 在2020年,最大的量子計算機有65 QUAT,目的是到2023年達到1,000次.
引擎蓋下的128和256位算法
對秘密鑰匙的蠻力攻擊是對安全算法的最佳潛在攻擊,但是如果該算法存在脆弱性,該怎麼辦?
AE分解為兩種不同的算法:加密算法(執行實際加密)和密鑰時間表(將秘密鍵轉換為圓形密鑰). 這些事項對AES的安全性的安全性.
加密算法
AES-128和AES-256使用幾乎相同的加密算法. 每種加密算法都採用一組操作,並將它們應用一定數量或“彈性”. AES加密算法之間的唯一區別是回合數:AES-128使用10和AES-256使用14.
這意味著,如果發現對AES算法的攻擊,它可能會影響AES-128和AES-256. 唯一的區別是,如果攻擊只能進行一定數量的AE(某些AES攻擊). 如果攻擊至少進行了十發,但不到14輪,那麼AES-128和AES-256之間存在明顯的贏家. 但是,目前尚無此類攻擊以AES聞名.
關鍵時間表
關鍵的時間表是AES-128和AES-256變得非常不同的地方. AES-128密鑰時間表旨在將128位秘密鑰匙轉換為十個128位圓形鑰匙. AES-256密鑰時間表將256位秘密鑰匙轉換為14次128位鍵.
在這兩個中,AES-128關鍵時間表實際上更安全. AES-256關鍵時間表已知弱點,可能使對算法進行相關的關鍵攻擊成為可能.
相關的關鍵攻擊絕不應該在現實生活中發生. 為了發生這種情況,攻擊者需要:
- 說服關鍵所有者採取其現有加密密鑰
- 使用攻擊者已知的關係創建其他三個鍵
- 加密2 99.5(這是八個
即使這次攻擊是可行的,也可以簡單地使用良好的關鍵發電實踐來避免. 真正的隨機密鑰絕不應該容易受到相關密鑰攻擊的影響,因為它沒有相關的鍵.
儘管這種攻擊是不可行的,但一些密碼學家建議 – 當在AES-128和AES-256之間進行選擇時,沒有任何限制 – 在AES-256上使用AES-128. 如果您的算法更簡單,關鍵時間表更強,為什麼要使用更複雜的算法?
在AES-128和AES-256之間進行選擇
128位和256位AE都有其優點和缺點. AES-128更快,更高效,不太可能對其進行全面攻擊(由於密鑰時間表更強大). AES-256對蠻力攻擊更具抵抗力,並且僅對相關的關鍵攻擊而弱(無論如何都不應該發生).
由於兩種算法都可以抵抗現代和預期的未來威脅,因此從安全角度來看,它們之間的選擇並不重要. 我們的最佳指導是,AES-128提供的安全性不僅僅是足夠的安全性,同時更快,更具資源效率,但希望通過算法中的更大密鑰和更多回合提供的額外安全性,應該選擇AES-256.
UBIQ平台當前支持AES-256-GCM和AES-128-GCM,因此,如果您有興趣了解有關如何快速將數據加密構建到任何應用程序的更多信息,請觀看我們的簡短演示視頻 .
設置快速簡便
準備開始?
立即創建一個免費帳戶,開始加密數據或與您聯繫以討論組織的自定義軟件包.
從Ubiq獲取最新信息
註冊,以便我們可以使您保持最新的加密,安全性和技術.
什麼是AES加密及其在2023年如何工作? 256位與128位
研究各種類型的軟件時,AES加密通常被列為功能. 什麼是AES的加密,它如何工作? 當我們解釋高級加密標準時,請繼續閱讀,這是世界上最常用的加密協議.
Aleksander Hougen(執行編輯)
– 上次更新:26年5月26日2021-05-26T04:27:43+00:00
如果您對任何類型的消費者軟件進行了研究(無論是雲存儲,備份提供商還是虛擬專用網絡),您可能會遇到“ AES”一詞。.“不過,您通常沒有得到解釋,但是. 因此,什麼是AES的加密,它如何工作? 加入我們,因為我們將流行的加密協議分解為其核心組件,以破譯某些Technobble圍繞加密.
關鍵要點:
- AES代表“高級加密標準.透明
- AES算法是行業標準的加密協議,可保護敏感信息免受傳統的蠻力攻擊.
- 這兩個最常見的版本是256位AE(提供更大的安全性)和128位AE(在加密和解密過程中提供更好的性能).
- 借助當前技術,AES通過直接,蠻力的攻擊是無法折磨的,並且可以在無數應用程序中使用,從保護政府機構中的最高秘密或機密信息,以確保您的個人數據在雲上存儲時確保您的個人數據安全.
自2000年通過作為行業標准採用以來,AES在我們的數字生活的每個部分都變得無處不在. 除非您在過去的20年中一直住在一個洞穴中,否則您幾乎可以保證使用它使用的軟件,即使您不知道它是什麼.
- 什麼是AES,它如何工作?
AES是“高級加密標準”的縮寫,AES是加密數據的最廣泛使用的協議. 它的工作原理完全變得太複雜了,無法簡短答案,因此,如果您想了解更多信息,請繼續閱讀文章.
AES的加密實際上是與計算機相關的所有內容:從面向消費者的產品(例如雲存儲或VPN)到大規模的政府和公司係統,這些政府和公司係統需要高度確定性,即文件保持私密且安全.
加密允許我們使用計算機和Internet執行任務並存儲需要保密的敏感數據. 例如,如果沒有加密,您的銀行詳細信息,病歷甚至購買之類的東西都會太暴露於數字空間中.
什麼是AES加密? 分解基礎知識
就像在跑步前行走一樣,要了解AES是什麼,我們需要解釋有關加密的一些基礎知識以及AES加密是如何成為的.
什麼是加密?
加密是一個充分理解的廣泛話題,因此我們不會在本指南中佔用太多空間來解釋實踐的基本原理.
不過,簡而言之,加密通常可以通過獲取要保密和爭先恐後的數據來工作.
不同的協議對此進行了不同的處理,其中一些(例如AES)使用“對稱鍵算法”,這意味著相同的密鑰加密並解密數據.
對稱加密的對立面是(驚喜,驚喜)“非對稱加密”,其中公開可用的密鑰加密數據. 但是,一個單獨的秘密私鑰必須再次解密.
如果您需要對加密的基本知識進行更深入的解釋,請在繼續之前對加密的一般描述.
AES的歷史
正如我們已經提到的那樣,AES只是代表“高級加密標準”,該名稱被u選為U的行業標準時採用的名稱.s. 國家標準技術研究所(簡稱NIST). 該加密最初是由兩位比利時密碼師瓊·戴門(Joan Daemen)和文森特·里恩曼(Vincent Rijmen)開發的,1990年代中旬.
除其他14個協議(包括將繼續與Rijndael競爭的四項協議:即Twofish,Serpent,RC6和MARS)。. 在1998年,1999年和2000年的三次峰會之後,NIST宣布Rijndael是贏家,此後將被稱為AES.
AES加密的工作方式
現在,我們已經簡要介紹了加密的作用以及協議的快速歷史,現在該研究AES加密的細節了.
我們將盡最大努力盡可能簡單地解釋這一點,但是您可能仍然會在替換字節,移動行和混合柱的引用中感到有些丟失. 如果您這樣做,請放心,加密是一件值得一看的複雜的事情,您不應該期望通過閱讀對過程的簡化解釋來成為該主題的大師.
在最基本的層面上,AES加密過程由四個不同階段組成. 當我們逐步通過加密算法時,我們將解釋其中的每一個,但按順序進行:添加圓形密鑰,子字節和混合列.
當我們瀏覽加密過程的步驟時,我們需要一些示例. 假設我們要加密的數據是“加密test1”中的簡單短語,而加密密鑰是“ password12345678).透明
此加密密鑰只是一個簡單的例子,您應該 切勿將其用作實際鑰匙;相反,創建具有長且複雜的密鑰長度的強密碼. 您甚至可以使用我們的密碼生成器來創建非常強的加密密鑰.
步驟1:分開數據
在AES可以執行任何操作之前,它需要獲取已加密的數據並將其轉換為塊,然後將其分批加密. 這是通過獲取輸入數據來完成的,例如明文 – 並將其切成部分.
這些塊結構為 數組 (思考表)由四乘四種圖案組成的列和行組成. 由於陣列中的每個“單元格”由一個字節組成,因此您最終的塊大小為128位(一個字節中有八個位,因此八個乘以16乘以16位為我們提供128位).
因此,使用我們的“加密test1”的示例數據,我們得到了一個看起來像這樣的數組:
e | y | o | e |
n | p | n | s |
C | t | t | |
r | 我 | t | 1 |
步驟2:鑰匙擴展
接下來,AES拿起您的密鑰(例如,密碼),並將其放入用於加密數據的相同塊結構中. 然後,它用肉眼顯示為隨機數和字母的混亂,將鑰匙的每個部分替換為.
在更換之前,我們的鑰匙看起來像這樣:
p | w | 1 | 5 |
A | o | 2 | 6 |
s | r | 3 | 7 |
s | d | 4 | 8 |
一旦貫穿密鑰擴展過程,它就會變成多個塊,從此開始:
70 | 77 | 31 | 35 |
61 | 6f | 32 | 36 |
73 | 72 | 33 | 37 |
73 | 64 | 34 | 38 |
擴展的密鑰遠遠超過了這一點,但是為了簡單起見,我們將在這裡使用第一個塊. 直到回合的最後一步,該擴展的鍵才再次使用.
雖然這些符號似乎是隨機的,但它們是從稱為“ AES關鍵時間表”的替換錶中提取的,該表具有每個符號的預定替換值. 如果您對塊中的“ 6F”感到好奇,這是十六進制,而不是錯字,您會在此過程中看到更多這些.
步驟3:添加圓形密鑰
最後,我們進入了實際的AES加密過程. 該協議現在使用“步驟一”中創建的數據塊,並將它們與您的原始密鑰結合在一起,使用密鑰時間表創建一個全新的塊密碼. 雖然添加像數字一樣的文字似乎很奇怪,但值得記住的是,在計算機上,一切都是數字,包括文字.
因此,一旦完成此過程,它就會留下一個看起來像這樣的塊:
15 | 0E | 5e | 50 |
0f | 1f | 5C | 45 |
10 | 06 | 13 | 43 |
01 | 0d | 40 | 09 |
步驟4:字節替代
使用“第三步”中創建的塊密碼,AES現在用“ Rijndael S-box”的表替換了Cypher中的每個字節. 完成此完成後,我們的符號塊已更改為:
59 | ab | 58 | 53 |
76 | C0 | 4a | 6e |
CA | 6f | 7d | 1a |
7C | D7 | 09 | 01 |
我們在這裡標記了每列的特定顏色,以便您可以更輕鬆地遵循下一步中發生的事情.
步驟5:移動行
為了進一步爭奪我們前四個步驟中創建的數據,AES然後將行向左移動. 第一行保持不變,但是第2,三和四行分別向左移動一,兩個和三個字節. 這給我們留下了:
59 | ab | 58 | 53 |
C0 | 4a | 6e | 76 |
7d | 1a | CA | 6f |
01 | 7C | D7 | 09 |
正如您可以通過顏色看的那樣,行現在已經移動了.
步驟6:混合柱
該過程的下一步獲取塊密碼的每一列,並通過一系列複雜的數學運行,這些數學會產生一組全新的列集. 精確的數學太複雜了,無法在此處解釋,但是您剩下的是現在看起來完全不同的數據塊:
95 | F5 | 1f | 5a |
44 | 6d | 16 | 07 |
60 | 51 | D b | E0 |
54 | 4e | F9 | 鐵 |
步驟7:添加圓形鑰匙
在加密過程的最後一步中,AES採用“步驟二”(密鑰擴展)中創建的密鑰,並將其添加到我們最終在“步驟六.”這再次將我們的密碼更改為以下內容:
E1 | F6 | 2d | 5d |
bf | F9 | B0 | 97 |
14 | 57 | EE | E2 |
B1 | CF | 4C | 73 |
步驟8:重複以前的步驟
一旦完成了七個步驟,步驟四到七個次數多次重複,確切的回合數量由所使用的密鑰大小確定. 如果密鑰尺寸為128位,則AES進行10發,而192位的12輪則進行了14輪。. 最後的圓形跳過第六步,但否則每個重複是相同的.
每個回合進一步使加密複雜化,使其與其原始狀態越來越難以區分. 也就是說,除非您可以訪問原始密鑰,否則基本上可以執行相同的過程以反向解密數據.
鑰匙尺寸:256位與192位與128位
正如我們之前提到的,AES是一個總體術語,涵蓋了整個Rijndael的加密協議家族. 該組由三種不同的算法組成,這些算法大多是相同的,但一個重要的例外:使用的密鑰大小.
有三種不同的尺寸:256位AE,192位AES和128位AES. 最大的256位AE是最安全的,而128位是三個中最不安全的. 也就是說,所有三種關鍵尺寸都足夠強大,即使是最專門的蠻力攻擊,但從理論上講,兩個較小的鑰匙尺寸都更容易破裂(通過蠻力攻擊破裂128位AES所需的時間仍然是數十億年).
很少使用中級192位鍵,大多數AES加密和解密使用256位鍵或128位鍵. 儘管256位加密更安全,但128位密鑰使用的計算能力較少. 因此,它對於較低敏感的數據或加密過程的資源有限時有用.
戰鬥加密:AES vs RSA
如果您以前聽過“ AES”一詞,您可能還聽說過另一種著名的加密協議:RSA. RSA的三位發明者(Rivest,Shamir和Adelman)的首字母縮寫詞比AES更安全,主要是由於它使用了不對稱的關鍵模型而不是對稱模型.
因此,如果RSA存在並且比AE更安全,那麼它就提出了為什麼我們首先使用AES的問題. 答案足夠簡單,因為這是由於它處理加密的方式:RSA比AES需要更多的計算能力,因此,不適合性能和速度至關重要的應用.
儘管對稱塊密碼永遠不會像不對稱的密碼那樣安全,但其相對較低的績效要求意味著,它是硬件和軟件的理想加密算法,需要快速有效地加密和解密數據,而無需在安全性上進行有意義的損害。.
AES安全問題
AES存在理論上的弱點,儘管它是一個非常安全的加密協議(對於擁有大量計算能力的組織,例如國家安全局,甚至需要數十億年).
但是,儘管簡單的蠻力攻擊從未能夠破解AES加密,如果AES實施不佳,則可以針對其他更複雜的攻擊類型.
相關攻擊
利用較差的AES算法的第一種方法是通過稱為“相關攻擊的事物”.“如果攻擊者有某種方式將已知的公共密鑰與相應的秘密私鑰聯繫起來,則可以使用這種攻擊;因此,獲得解密數據的能力. 但是,如果正確實施了AES鍵,則這種攻擊方法是不可行的.
側通道攻擊
計算機本質上只是一堆電信號,從理論上講,可以通過監視物理電磁洩漏來拾取這些信號. 如果這些洩漏包含私鑰,則攻擊者可以將數據解密,就好像它們是預期的接收器.
已知的鑰匙區分攻擊
已知的鍵攻擊可能是最簡單的理解,因為它要求攻擊者知道用於加密數據的密鑰. 借助鑰匙,攻擊者可以將加密數據與已知內容的其他加密數據進行比較.
但是,這種類型的攻擊僅對七發AES加密有效,這意味著即使是最短的密鑰長度(128位)也是免疫的,因為它使用了10輪. 此外,攻擊者知道原始密鑰的可能性很低.
鑰匙恢復攻擊
鍵入攻擊意味著攻擊者將他們的手放在一塊加密和解密的數據上,然後可以使用該信息來推斷其使用的密鑰是什麼. 幸運的是,這是一種理論上的攻擊途徑,因為它僅比蠻力攻擊快四倍,這意味著他們仍然必須花費數十億年.
最終想法:AES加密
現在您已經完成了指南的結尾,希望我們為您提供了AES加密的問題令人滿意的答案. 如果您仍然有些困惑,那是可以理解的,因為密碼學是一個固有的複雜領域,需要多年的研究才能真正理解基本的水平.
您如何看待我們關於AES加密的速成課程? 您是否覺得自己對協議如何保護您的數據有更好的了解,或者您的閱讀之前就迷失了? 在下面的評論中讓我們知道,一如既往地感謝您的閱讀.
這個帖子有幫助嗎?
讓我們知道您是否喜歡帖子. 那是我們可以改進的唯一方法.
一個關於“什麼是AES加密及其在2023年的工作方式)的想法? 256位與128位”