加密標(biāo)準(zhǔn)中DES與AES到底是什么?兩者有啥區(qū)別?
?我們生活在一個信息爆炸的時代,各類隱私數(shù)據(jù)的保護(hù)成了現(xiàn)代信息技術(shù)中最為重要的技術(shù)之一。加密就是保護(hù)數(shù)據(jù)最直接也是應(yīng)用最為廣泛的方法。
加密是將一種形式的信息(通常是人類可讀的)轉(zhuǎn)換為另一種形式(通常不是人類可讀的)的過程。它以數(shù)學(xué)為基礎(chǔ),并利用稱為密鑰的外部信息來執(zhí)行此轉(zhuǎn)換。加密有些是基于硬件的,例如指紋和視網(wǎng)膜掃描儀,有些是基于軟件的,例如用戶 ID 和密碼,其中最重要的就是DES和AES,下面我們來分別認(rèn)識一下這兩種加密方法。
一、什么是DES?
DES 是一種對稱分組密碼(共享密鑰),密鑰長度為 56 位,于 1977 年作為美國聯(lián)邦信息處理標(biāo)準(zhǔn) (FIPS) 46 標(biāo)準(zhǔn)發(fā)布,后來被美國國家標(biāo)準(zhǔn)與技術(shù)研究院 (NIST) 采用。
DES對密碼學(xué)的進(jìn)步產(chǎn)生了很大的影響,但是,由于 56 位的短密鑰長度,所以對應(yīng)用程序不安全。1999 年,distributed.net在 22 小時 15 分鐘內(nèi)破解了一個 DES 密鑰,在這事件發(fā)生后,NIST 撤回了該算法作為標(biāo)準(zhǔn)。
DES 在加密期間將純文本消息分組為 64 位塊,使用置換和替換將塊與密鑰一起編碼為 64 位密文,該過程需要 16 個步驟,可以在四種不同的模式下運行,要么單獨加密塊,要么使每個密碼塊依賴于所有先前的塊,DES解密過程是其加密步驟的逆過程,顛倒了應(yīng)用密鑰的順序。
二、什么是AES?
AES 數(shù)據(jù)加密是一種在數(shù)學(xué)上更高效、更優(yōu)雅的加密算法,由美國國家標(biāo)準(zhǔn)與技術(shù)研究院于 2001 年推出。作為高級加密標(biāo)準(zhǔn),AES提供三種密鑰長度,分別是128 位、192 位和 256 位,密鑰長度越高,破解系統(tǒng)或破解系統(tǒng)所需的時間就越多。因此,AES 被認(rèn)為比 DES 算法更好。
AES 在通過計算機(jī)網(wǎng)絡(luò)傳輸數(shù)據(jù)時被廣泛使用,特別是在無線網(wǎng)絡(luò)中,AES 使用 128 位明文和 128 位密鑰來創(chuàng)建 128 位塊,然后對其進(jìn)行處理以生成 16 字節(jié)(128 位)密文。
高級加密標(biāo)準(zhǔn)的加密過程是基于迭代方式的替換和置換操作,16 字節(jié)的數(shù)據(jù)以四列四行的矩陣排列,在這個矩陣上,AES 執(zhí)行幾輪替換置換操作。
這些輪次中的每一輪都使用不同的密碼密鑰,該密鑰是根據(jù)原始 AES 密鑰計算得出的,操作的輪數(shù)取決于密鑰的大小,方式如下:
- 128 位密鑰,10 輪
- 192 位密鑰,12 輪
- 256 位密鑰,14 輪
三、DES與AES區(qū)別
3.1 創(chuàng)建時間
- DES:1976 年
- AES:1999 年
3.2 標(biāo)準(zhǔn)化時間
- DES:1977 年
- AES:2001 年
3.3 設(shè)計者
- DES:由IBM 設(shè)計
- AES:由Vincent Rijmen和Joan Daeman 設(shè)計
3.4 密鑰長度
- DES:56 位
- AES:128、192 和 256 位
3.5 塊大小
- DES:64 位
- AES:塊大小可以是 128、192 或 256 位,取決于密鑰長度
3.6 加密過程
- DES: 16 輪
- AES:在 128、192 和 256 位的情況下,加密過程分別涉及 10、12 和 14 輪?