
下面介紹下分組密鑰與序列密碼不同之處:
分組加密。分組密碼輸出的每一位數字不是只與相應時刻輸入的明文數字有關,而是與一組長度為y的明文數字有關。
無記憶性。序列密碼與分組密碼的最大不同之處在於,序列密碼具有記憶性,分組密碼沒有記憶性。序列密碼是一個隨時間改動的加密變換,每一步的密鑰序列都是不同的,序列密碼是有狀態的,與加密到第幾步有很大關係,也叫狀態密碼,而分組密碼運用的是一個不隨時間改動的固定改換,沒有記憶性。分組密碼的每個分組的加密密鑰都是相同的,在相同的密鑰下,分組密碼關於長度爲r的輸出明文組所實施的改換是同等的,這是分組密碼的重要特徵之一,所以只需設計對任一組明文數字的變換規則。這種密碼本質上是字長爲r的數字序列的代換密碼。假設對分組密碼的密鑰發作參與記憶模塊,那麼就變為了序列密碼。
實現方式。
①序列密碼是逐位進行加密,由於位操作速度比較慢,因此,序列密碼並不適合於使用軟件來實現,而更適用於採用硬件來高效實現(使用矽材料可以非常有效地實現序列密碼)。由於分組算法可以避免耗時的位操作,並且易於處理計算機界定大小的數據分組,所以,分組算法則可以很容易地使用軟件來實現。從實際應用來看,分組密碼的應用更為普遍,一般來說分組密碼的算法更為堅固些。
②對數字通信信道上的硬件加密設備來說,沒經過一位數據就立刻加密一位,這樣非常有價值,這正是這些設備的長處。反之,使用軟件加密設備加密每個分離的單個位就不像前者那樣具有價值。也有一些特殊的場合,例如,在一個計算機系統中,對於鍵盤和CPU之間的通信進行加密的話,如果採用64位的分組密碼算法顯然並不合適,這時候必須進行逐位、逐字節的加密。但是一般來說,加密分組至少是數據總線的寬度。
理論支持。序列密碼易於從數學角度來進行分析。而分組密碼更多是應用擴散和混淆的方式來實現的。
錯誤擴散。兩者之間很重要的一個區別在於錯誤擴散。在序列密碼中,篡改一位明文只會影響到一位密文。而在分組密碼中,即使只是一位明文發生錯誤也至少是相當於篡改了一組數據,這在各種反饋方式的分組密碼中更為嚴重。有的場合為了發現錯誤需要有足夠的擴散,而有些場合卻絕不能有錯誤擴散。點擊連結分析更多相關內容。
