定義
需要對加密和解密使用相同密鑰的加密算法。由於其速度快,對稱性加密通常在訊息傳送方需要加密大量數據時使用。對稱性加密也稱為密鑰加密。
所謂對稱,就是採用這種加密方法的雙方使用方式用同樣的密鑰進行加密和解密。密鑰是控制加密及解密過程的指令。算法是一組規則,規定如何進行加密和解密。
因此加密的安全性不僅取決於加密算法本身,密鑰管理的安全性更是重要。因為加密和解密都使用同一個密鑰,如何把密鑰安全地傳遞到解密者手上就成了必須要解決的問題。
工作過程
下面舉個例子來簡要說明一下對稱加密的工作過程。甲和乙是一對生意搭檔,他們住在不同的城市。由於生意上的需要,他們經常會相互之間郵寄重要的貨物。為了保證貨物的安全,他們商定製作一個保險盒,將物品放入其中。他們打造了兩把相同的鑰匙分別保管,以便在收到包裹時用這個鑰匙打開保險盒,以及在郵寄貨物前用這把鑰匙鎖上保險盒。
上面是一個將重要資源安全傳遞到目的地的傳統方式,只要甲乙小心保管好鑰匙,那么就算有人得到保險盒,也無法打開。這個思想被用到了現代計算機通信的信息加密中。在對稱加密中,數據傳送方將明文(原始數據)和加密密鑰一起經過特殊加密算法處理後,使其變成複雜的加密密文傳送出去。接收方收到密文後,若想解讀原文,則需要使用加密密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密。
常用算法
在對稱加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
不同算法的實現機制不同,可參考對應算法的詳細資訊。
算法
採用單鑰密碼的加密方法,同一個密鑰可以同時用來加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。常用的單向加密算法:
1、DES(Data Encryption Standard):數據加密標準,速度較快,適用於加密大量數據的場合;
2、3DES(Triple DES):是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高;
3、AES(Advanced Encryption Standard):高級加密標準,是下一代的加密算法標準,速度快,安全級別高,支持128、192、256、512位密鑰的加密;
4、Blowfish
算法特徵
1、加密方和解密方使用同一個密鑰;
2、加密解密的速度比較快,適合數據比較長時的使用;
3、密鑰傳輸的過程不安全,且容易被破解,密鑰管理也比較麻煩;
加密工具
1、openssl,它使用了libcrypto加密庫、libssl庫即TLS/SSL協定的實現庫等。TLS/SSL是基於會話的、實現了身份認證、數據機密性和會話完整性的TLS/SSL庫。openssl官網。
2、gpg
優缺點
對稱加密算法的優點是算法公開、計算量小、加密速度快、加密效率高。
對稱加密算法的缺點是在數據傳送前,傳送方和接收方必須商定好秘鑰,然後使雙方都能保存好秘鑰。其次如果一方的秘鑰被泄露,那么加密信息也就不安全了。另外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的獨一秘鑰,這會使得收、發雙方所擁有的鑰匙數量巨大,密鑰管理成為雙方的負擔。