ofb模式
ctr模式
cfb模式全稱是cipher feedback模式(密文反饋模式)。在cfb模式中,前乙個密文分組會被送回到密碼演算法的輸入端。所謂反饋,這裡指的就是返回輸入端的意思。
在ecb和cbc模式中,明文分組都是通過密碼演算法進行加密的,然而在cfb模式中,明文分組並沒有通過密碼演算法來直接進行加密。
在cbc模式中,明文分組和密文分組之間有xor和密碼演算法兩個步驟,而在cfb模式中,明文分組和密文分組之間只有xor。
再生成第乙個密文分組時,是不存在前乙個輸出的資料,因此需要使用初始化向量來代替,這一點是和cbc模式相同的。
其實cfb模式和一次性密碼本很相似,一次性密碼本是通過將「明文」與「隨機位元序列」進行xor運算來生成「密文」的。而cfb模式則通過將「明文分組」與密碼演算法的輸出進行xor運算來生成「密文分組」的。在通過xor加密的這一點上,兩者是十分相似的。
在cfb中,密碼演算法的輸出相當於一次性密碼本中的隨機位元序列。
cfb模式中通過密碼演算法生成的位元序列稱為金鑰流(key stream)。在cfb中,密碼演算法就相當於用來生成金鑰流的偽隨機數生成器,而初始化向量就相當於偽隨機數生成器的「種子」。
在cfb模式中,明文資料可以被逐位元加密,可以將cfb看成是一種使用分組密碼來實現流密碼的方式。
對cfb可以施行重放攻擊(replay attack)。
例如:有一天,alice向bob傳送了一條訊息,這條訊息由四個密文分組組成。主動攻擊者將訊息中的後3個密文分組儲存了下來。轉天,alice又向bob傳送了內容不同的4個密文分組(假設alice使用相同的金鑰)。攻擊者用昨天儲存下來的3個密文分組將今天傳送的後3個密文分組進行了替換。
於是,當bob解密時,就只有乙個可以解密成正確的明文分組。第2個會出錯,而第3個和第4個則變成了被攻擊者替換掉的內容,攻擊者沒有破譯密碼,就成功的將以前的電文混入了新的電文中,而第2個錯誤到底是通訊錯誤呢?還是由於被攻擊造成的錯誤呢?bob是無法進行判斷的。要做出這樣的判斷,則需要訊息認證碼機制。
ofb模式全稱為output-feedback模式(輸出反饋模式)。在ofb模式中,密碼演算法的輸出會反饋到密碼演算法的輸入中。
ofb模式並不是通過密碼演算法對明文直接進行加密的,而是通過將「明文分組」和「密碼演算法的輸出」進行xor來產生「密文分組」的。
ofb模式也是需要乙個初始化的向量。
ofb模式和cfb模式的區別僅僅在於密碼演算法的輸入。
cfb模式中,密碼演算法的輸入是前乙個密文分組,也就是將密文分組反饋到密碼演算法中,因此有「密文反饋模式」。
ofb模式中,密碼演算法的輸入則是密碼演算法的前乙個輸出,也就是將輸出反饋給密碼演算法,因此有「輸出反饋模式」。
ctr模式全稱是counter模式(計數器模式)。ctr模式是一種通過將逐次累加的計數器進行加密來生成金鑰流的流密碼。
ctr模式中,每個分組對應乙個逐次累加的計數器,並通過對計數器進行加密來生成金鑰流。也就是說,最終的密文分組是通過將計數器加密得到的位元序列。與明文分組進行xor得到。
ofb模式和ctr模式都是屬於流密碼。ofb模式是將加密的輸出反饋到輸入,而ctr模式是將計數器的值用作輸入。
ctr模式的加密和解密使用了完全相同的結構,因此在程式的實現上是比較容易的。
ctr模式可以以任意的順序對分組進行加密和解密,因此在加密和解密時需要用到的「計數器」的值可以由nonce和分組序號直接計算出來。這一性質是ofb模式所不具備的。
能夠以任意的順序處理分組,也就意味著可以實現並行運算。在支援並行運算的計算機系統中,ctr模式速度是非常快的。
ctr模式有乙個比ofb模式更好的性質,在ofb模式中,如果對金鑰流的乙個分組進行加密後其結果碰巧和加密前是一樣的,那麼這一分組在以後的金鑰流中就會變成同一值的不斷反覆,而在ctr中不會存在這一問題。
分組密碼的執行模式
分組密碼在加密時,明文分組的長度是固定的,而實際應用中待加密訊息的資料量是不定的,資料格式多種多樣 1 為了能在各種應用場合使用ds,美國在fips pus 74和81中定義了des的4種執行模式ecb,cbc,cfb,ofb 2 fips pub140 2推薦了aes的另外一種執行模式 ctr e...
分組密碼的執行模式
ecb electronic codebook 電碼本模式特點 1 明文組之間獨立,相同的明文組生成的密文相同 2 沒有誤碼傳播 3 加解密都可以平行計算 用途傳送短資料 加密金鑰 流程 cbc cipher block chaining 密文分組鏈結特點 1 c i e k c xor p i p...
分組密碼工作模式簡述
這篇隨筆將介紹對稱加密中分組密碼的工作模式 rt。工作模式 其實很愚鈍,今天才突然明白這個模式是什麼意思?所謂模式,就是方法,就是加密的方法,既然是對稱加密,解密方法也包括在內了。在分組密碼理論上,簡單的說就是乙個分組經過加密,產生乙個對應的分組密文,至於如何加密,沒有限制,模式就對應這裡的 如何加...