加密算法基本概念
現(xiàn)代密碼學(xué)中,可靠的密碼體系必須遵循柯克霍夫原則——“即使除密鑰外的整個系統(tǒng)的一切都是公開的,這個密碼體制也必須是安全的。
分組加密通常只使用一個密鑰。為了保證加密強度,分組加密遵循香農(nóng)提出的強加密原則:
混淆(Confusion):使將密鑰與密文之間的關(guān)系盡可能模糊
擴散(Diffusion):隱藏明文的統(tǒng)計屬性
對稱加密:
關(guān)鍵詞:初始向量,分組,替換,換位;
定義:對稱算法使用一個密鑰,給定一個明文和一個密鑰,加密產(chǎn)生密文,其長度和明文大致相同,解密時,使用讀密鑰與加密密鑰相同。常見的對稱加密算法有DES、3DES、AES、Blowfish、IDEA、RC5、RC6。
對稱加密的五種工作模式:
1、電子密碼本模式Electronic Code Book(ECB)
定義:將加密的數(shù)據(jù)分成若干組,每組的大小跟加密密鑰長度相同,然后每組都用相同的密鑰進行加密。
2、加密塊鏈模式Cipher Block Chaining(CBC)
定義:將明文分成固定長度的塊,然后將前面一個加密塊輸出的密文與下一個要加密的明文塊進行異或操作,將計算的結(jié)果再用密鑰進行加密得到密文。
3、加密反饋模式Cipher Feedback Mode(CFB)
定義:面向字符應(yīng)用程序的加密要使用流加密算法,可以使用加密反饋模式進行加密。在此模式下,數(shù)據(jù)用更小的單元加密,如可以是8位,這個長度小于定義的塊長(通常是64位)。
4、輸出反饋模式Output Feedback Mode(OFB)
定義:輸出反饋模式與CFB相似,惟一差別是,CFB中密文填入加密過程下一階段,而在OFB中,初始化向量加密過程的輸入填入加密過程下一階段。
5、CTR模式
定義:CounTeR模式(計數(shù)器模式)。CTR模式是一種通過將逐次累加的計數(shù)器進行加密來生成密鑰流的流密碼。