
分組密碼每次處理的單元是確定大小的分組,而流密碼是以一個元素作為處理單元。
流密碼用由時間變化的加密變換,其轉換速度快、傳播錯誤低,硬件完成電路簡單。缺點是低擴散和插入及修改不敏感。
分組密碼用的是固定變換,其擴散性好及插入敏感。缺點是加、解密處理慢,及存在錯誤傳播。
流密碼涉及許多理論知識,提了很多設計原理,得到了廣泛分析,但很多研究成果並沒有全部公開,可能是因為现在流密碼主要用於軍事和外交。日前,公開的流密碼算法主要有RC4、SEAL等。
现在,同步流密碼大多是二元流密碼,這種流密碼的密鑰流、明文流和密文流都被編碼成0,1序列,此時有:
加密:ci=mi+ki
解密:mi=ci+ki
密鑰流生成器產生的密鑰流的性質決定了二元流密碼的安全強度。若密鑰流是無周期、無限長隨機序列,則流密碼是“一次一密”密碼體制,也就是絕對安全的。實際應用中密鑰流都用有限存儲和複雜邏輯的電路產生,此時它的生成器只有有限個狀態,這樣,它早晚要到初始狀態而呈現出一定長度的周期,其輸出也就是周期序列。所以,實際應用中的流密碼不會實現“一次一密”密碼體制,但若生成的密鑰流周期夠長,隨機性好,其安全強度還是能保證的。因此,密鑰流生成器的設計是流密碼的核心,流密碼的安全強度取決於密鑰流的周期、複雜度、隨機(偽隨機)性等。線性反饋移位寄存器是產生密鑰流最重要的部件,主要有這幾個原因:LFSR特別適合硬件實現;能產生大的周期序列;能產生好的統計特性的序列;它們的結構能用代數方法很好的分析。
