AES是一套對稱密鑰的密碼術,目前已廣泛使用,用於替代已經不夠安全的DES算法。所謂對稱密鑰,就是說加密和解密用的是同一個密鑰,消息的發送方和接收方在消息傳遞前需要享有這個密鑰。和非對稱密鑰體系不同,這裡的密鑰是雙方保密的,不會讓任何第三方知道。

對稱密鑰加密法主要基於塊加密,選取固定長度的密鑰,去加密明文中固定長度的塊,生成的密文塊與明文塊長度一樣。顯然密鑰長度十分重要,塊的長度也很重要。如果太短,則很容易枚舉出所有的明文-密文映射;如果太長,性能則會急劇下降。AES中規定塊長度為128 bit,而密鑰長度可以選擇128, 192或256 bit 。暴力破解密鑰需要萬億年,這保證了AES的安全性。

AES的算法較為複雜,在此不細加闡述。下面是使用openssl進行AES加密和解密的示例程序: 更多 >