編者按:本文由Peter 王廣忠的技術(shù)分享,轉(zhuǎn)載請注明來自Peter 王廣忠,并聯(lián)系作者獲得授權(quán)。Peter 王廣忠,程序員,專業(yè)區(qū)塊鏈講解員
AES 的全稱是 Advanced Encryption Standard ,是最流行的對稱加密算法,當(dāng)然也可以叫做加密規(guī)范。
AES 的基本原理
AES 是對稱加密算法,也就是說加密和解密都是采用同一個的密鑰。
AES 加密的時候,會把文件切分成一個個的小塊進(jìn)行加密,每個塊是128位,也就是16個字節(jié)。如果文件大小不是16字節(jié)的整數(shù)倍,那就要在末尾添加一些數(shù)據(jù)湊夠。每個塊都會被單獨去進(jìn)行加密。
加密的時候,AES 算法會有兩個輸入一個輸出。輸入是密鑰和文件內(nèi)容,輸出是密文。解密時候會把密文和密鑰所輸入,輸出就是文件原文。
實際加密和解密過程都分成好幾個步驟,還是比較復(fù)雜的,并不是把原文和密鑰做一個異或那么簡單。
AES 是非常安全的
密鑰長度可能是128位或者更長,當(dāng)然密鑰越長就越安全,速度也就越慢。AES 是在1998年發(fā)布的,歷史上還沒有任何人破解過 AES 加密過的數(shù)據(jù)。
AES 是非常流行的
AES 是當(dāng)前最為流行的對稱加密算法,這個沒有之一。它是如此的常用,以至于很多 CPU 在硬件層面上支持 AES 的加密和解密。
AES 是美國政府使用的加密標(biāo)準(zhǔn),這意味著政府的機密文件大都是用 AES 進(jìn)行加密的。
https 就是使用 AES 來進(jìn)行數(shù)據(jù)的加密的,因為 AES 是 TLS 和 SSL 標(biāo)準(zhǔn)的一部分。
總結(jié)
最后總結(jié)一下。AES 是當(dāng)下最為流行的對稱加密算法,不管是美國政府文件還是 HTTPS 的數(shù)據(jù),都是用它來進(jìn)行加密的,所以是非常常用的。