加密種類: 依加解密演算法種類分
- 對稱式 和 非對稱式 加密
- 單向雜湊演算
對稱性加密演算法:
對稱式加密就是加密和解密使用同一個密鑰 資料接收雙方需先知道雙方加密的金鑰與演算法,才能完整加解密。
ex: AES、DES、3DES、PBEWITHMD5andDES
非對稱演算法:
非對稱式加密就是加密和解密所使用的密鑰不同,一般稱 公鑰 和 私鑰 。 公私鑰必需配對使用,否則不能打開加密文件。
訊息接收方先製備公鑰與私鑰。並將公鑰發送給資料來源方。 資料源頭則使用接收方的公鑰將訊息加密,然後將祕文回傳給接收方,接收方再依據自己規則結合公私鑰進行解密。
所以,原則上是 接收 訊息的人來 決定演算 工具和 派發金鑰 。
ex: RSA、DSA、ECC
雜湊演算 (Hash)
又稱為 散列算法 ,或 哈希函數 。 雜湊演算也能將資料轉為密文,但是無法將密文轉回明文。 所以,雜湊演算通常只是用來驗證資料傳遞過程是否遺漏封包。也就是驗證資料完整性(Integrity)時使用。
ex: MD5、SHA1、HMAC
PBEWITHMD5andDES
類似對稱式加密,只是收送雙方保存的不是金鑰而是一組密碼。 收送雙方持有密碼,App管理人(ex:MIS)則保有雜湊碼,程式中則內藏演算遞迴次數。 PBEWITHMD5andDES 演算法多了機個參數
- 使用 pwd 來建立 encryption key。
- salt string
- 演算的遞迴次數 也就是說相較於一般將 salt 加入資料加密演算外, PBEWITHMD5andDES A:還會檢查解密金鑰是否正確。 另外,B:也會依據 iteration count 設定值來重複加密所得出的結果。 利用增加 A/B 兩項措施增加北破解的難度。