什麼是對稱加密
對稱加密算法是應用較早的加密算法,技術成熟。在對稱加密算法中,數據發信方將明文(原始數據和加密密鑰)一起經過特殊加密算法處理後,使其變成複雜的加密密文發送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。
對稱加密的優缺點
優點:算法公開、計算量小、加密速度快、加密效率高。
缺點:
(1)交易雙方都使用同樣鑰匙,安全性得不到保證。
(2)每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量呈幾何級數增長,密鑰管理成爲用戶的負擔。對稱加密算法在分佈式網絡系統上使用較爲困難,主要是因爲密鑰管理困難,使用成本較高。
常見的對稱加密算法
-
DES 數據加密標準(用的比較少,因爲強度不夠).
-
3DES 使用3個密鑰,對相同的數據執行三次加密,強度增強.
-
AES 高級加密標準,也是目前使用最多的對稱加密算法,目前美國國家安全局使用AES加密,蘋果的鑰匙串訪問就是使用AES加密
-
RC算法 ,包括RC2,RC4,RC5。
加密方式
-
ECB: 電子代碼本,就是將一個數據拆分爲多塊,然後獨立加密的!
-
CBC: 密碼塊鏈,使用一個密鑰和一個初始化"向量"對數據執行加密轉換,能保證密文的完整性,如果一個數據發生改變,後面所有的數據將會被破壞!
向量:某個方向的數量.
現代的密碼學都和幾何有關!因爲幾何(包含圓形\橢圓\球體)的變量是有規律的,但是結果是多變的!
DES算法
DES 全稱 Data Encryption Standard,是一種使用密鑰加密的塊算法。現在認爲是一種不安全的加密算法,因爲現在已經有用窮舉法攻破 DES 密碼的報道了。儘管如此,該加密算法還是運用非常普遍,是一種標準的加密算法,3DES 是 DES 的加強版本。DES 加密算法出自 IBM 的研究,後來被美國政府正式採用,之後開始廣泛流傳,但是近些年使用越來越少,因爲 DES 使用56位密鑰(密鑰長度越長越安全),以現代計算能力24小時內即可被破解。雖然如此,在某些簡單應用中,我們還是可以使用 DES 加密算法。