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