海外服務(wù)器可以采取哪些算法來加密數(shù)據(jù)?
摘要:數(shù)據(jù)加密服務(wù)提供彈性,高可用,高性能的數(shù)據(jù)加解密、密鑰管理等服務(wù)器數(shù)據(jù)安全服務(wù),那么海外服務(wù)器可以采取哪些算法來加密數(shù)據(jù)保障業(yè)務(wù)數(shù)據(jù)隱私安全?
數(shù)據(jù)加密服務(wù)提供彈性,高可用,高性能的數(shù)據(jù)加解密、密鑰管理等服務(wù)器數(shù)據(jù)安全服務(wù),那么海外服務(wù)器可以采取哪些算法來加密數(shù)據(jù)保障業(yè)務(wù)數(shù)據(jù)隱私安全?
DES
-
DES,全稱Data Encryption Standard,是上一代標(biāo)準(zhǔn)對稱加密算法,現(xiàn)已不推薦使用。
-
密鑰:DES是一種將64bit的明文加密成64bit的密文的對稱密碼算法,它的密鑰長度是64bit(每隔7bit會設(shè)置一個用于錯誤檢查的bit,因此實(shí)際使用密鑰長度56bit)。
-
分組:DES是以64bit的明文作為一個單位來進(jìn)行加密的,這64bit的單位稱為分組。一般來說,以分組為單位進(jìn)行處理的密碼算法稱為分組密碼(block cipher),DES就是分組密碼中的一種。DES每次只能加密64比特的數(shù)據(jù),如果要加密的明文比較長,就需要對DES加密進(jìn)行迭代。
3DES
-
3DES,即triple-DES,簡單地說就是3次DES加解密的組合?,F(xiàn)已不推薦使用。
-
加密:cipthertext = E(k3, D(k2, E(k1, plaintext)))
-
解密:plaintext = D(k1, E(k2, D(k3, ciphertext)))
-
特點(diǎn):如果三個密鑰都一樣,拿剛好和DES一樣。
注:E表示Encrypt,D表示Decrypt。
AES
-
AES, Advanced Encryption Standard,是現(xiàn)行的對稱加密標(biāo)準(zhǔn)。目前(2017)如果使用對稱加密,應(yīng)該使用AES。當(dāng)然,只能說當(dāng)前AES算法是安全的,不能保證AES永遠(yuǎn)都是安全的。
-
分組:128bit。
-
密鑰:128bit、192bit、256bit。
分組密碼的模式
分組密碼簡介
-
分組密碼(block cipher),是每次只能處理特定長度的一塊數(shù)據(jù)的一類密碼算法,這里的“一塊”就稱為分組(block)。一個分組的比特?cái)?shù)就稱為分組長度(block length)。
-
流密碼(stream cipher),是對數(shù)據(jù)流進(jìn)行連續(xù)處理的一類密碼算法。
-
DES、3DES、AES等大多數(shù)對稱密碼算法都屬于分組密碼。
ECB模式
-
全稱Electronic CodeBook mode,電子密碼本模式。
-
分組方式:將明文分組加密之后的結(jié)果直接稱為密文分組。
-
優(yōu)點(diǎn):
-
缺點(diǎn):
-
相同的明文分組會轉(zhuǎn)換為相同的密文分組。
-
無需破譯密碼就能操縱明文(每個分組獨(dú)立且前后文無關(guān),直接增加或刪除一個分組不影響其它分組解密過程的正確性)。
-
CBC模式
-
全稱Cipher Block Chaining mode,密碼分組鏈接模式。
-
分組方式:將明文分組與前一個密文分組進(jìn)行XOR運(yùn)算,然后再進(jìn)行加密。每個分組的加解密都依賴于前一個分組。而第一個分組沒有前一個分組,因此需要一個初始化向量(initialization vector)。
-
優(yōu)點(diǎn):
-
加密結(jié)果與前文相關(guān),有利于提高加密結(jié)果的隨機(jī)性。
-
可并行解密。
-
缺點(diǎn)
-
無法并行加密。
-
一個分組損壞,如果密文長度不變,則兩個分組受影響。
-
一個分組損壞,如果密文長度改變,則后面所有分組受影響。
-
CFB模式
-
全稱Cipher FeedBack mode,密文反饋模式。
-
分組方式:前一個密文分組會被送回到密碼算法的輸入端(具體見下圖)。
-
在CBC和EBC模式中,明文分組都是通過密碼算法進(jìn)行加密的。而在CFB模式中,明文分組并沒有通過加密算法直接進(jìn)行加密,明文分組和密文分組之間只有一個XOR。
-
CFB模式是通過將“明文分組”與“密碼算法的輸出”進(jìn)行XOR運(yùn)行生成“密文分組”。CFB模式中由密碼算法生成的比特序列稱為密鑰流(key stream)。密碼算法相當(dāng)于密鑰流的偽隨機(jī)數(shù)生成器,而初始化向量相當(dāng)于偽隨機(jī)數(shù)生成器的種子。(CFB模式有點(diǎn)類似一次性密碼本。)
-
優(yōu)點(diǎn):
-
缺點(diǎn):
-
不能抵御重放攻擊(replay attack)。
-
不支持并行加密。
-
OFB模式
-
Output FeedBack mode 輸出反饋模式
-
密碼算法的輸出會反饋到密碼算法的輸入中(具體見下圖)。
-
OFB模式中,XOR所需的比特序列(密鑰流)可以事先通過密碼算法生成,和明文分組無關(guān)。只需要提前準(zhǔn)備好所需的密鑰流,然后進(jìn)行XOR運(yùn)算就可以了。
-
分組模式小結(jié)
推薦使用CBC模式。
填充
-
為什么要填充? ECB和CBC模式要求明文數(shù)據(jù)必須填充至長度為分組長度的整數(shù)倍。
-
填充的兩個問題。
-
填充多少字節(jié)?
-
填充什么內(nèi)容?
-
填充多少字節(jié)? 需要填充的字節(jié)數(shù)為:paddingSize = blockSize - textLength % blockSize
-
填充什么內(nèi)容?(這里列舉的三種方式本質(zhì)上是一致的)
-
ANSI X.923:填充序列的最后一個字節(jié)填paddingSize,其它填0。
-
ISO 10126:填充序列的最后一個字節(jié)填paddingSize, 其它填隨機(jī)數(shù)。
-
PKCS7:填充序列的每個字節(jié)都填paddingSize。
755800提供香港服務(wù)器、美國服務(wù)器等全球海外服務(wù)器租用托管,是區(qū)域鏈、直銷、流媒體、外貿(mào)、游戲等服務(wù)器解決方案首選品牌。
海外服務(wù)器免費(fèi)測試:http://running-capacitor.com/