序列密碼

利用密鑰產生一個密鑰流Z=Z1Z2Z3…,然後利用此密鑰流依次對明文X=X0X1X2...進行加密,這樣產生的密碼就是序列密碼,也稱流密碼。密鑰流由密鑰流發生器f產生:zi=f(k,si),這裡的si是加密器中存儲器(記憶元件)在i時刻的狀態,k是密鑰。序列密碼方案的發展是模仿“一次一密”系統的嘗試。

序列密碼也稱為流密碼(Stream Cipher),它是對稱密碼算法的一種。序列密碼具有實現簡單、便於硬體實施、加解密處理速度快、沒有或只有有限的錯誤傳播等特點,因此在實際套用中,特別是專用或機密機構中保持著優勢,典型的套用領域包括無線通信、外交通信。 1949年Shannon證明了只有一次一密的密碼體制是絕對安全的,這給序列密碼技術的研究以強大的支持,序列密碼方案的發展是模仿一次一密系統的嘗試,或者說“一次一密”的密碼方案是序列密碼的雛形。如果序列密碼所使用的是真正隨機方式的、與訊息流長度相同的密鑰流,則此時的序列密碼就是一次一密的密碼體制。若能以一種方式產生一隨機序列(密鑰流),這一序列由密鑰所確定,則利用這樣的序列就可以進行加密,即將密鑰、明文表示成連續的符號或二進制,對應地進行加密,加解密時一次處理明文中的一個或幾個比特。

在序列密碼中,密鑰流由密鑰流發生器f產生:zi=f(k,si),這裡的si是加密器中存儲器(記憶元件)在i時刻的狀態。根據加密器中的記憶元件si的存貯狀態是否依賴於明文字元,序列密碼可進一步分成同步和自同步兩種。如果si獨立於明文字元則稱為同步流密碼,否則稱為自同步流密碼。

序列密碼與分組密碼的對比

分組密碼以一定大小作為每次處理的基本單元,而序列密碼則是以一個元素(一個字母或一個比特)作為基本的處理單元。

序列密碼是一個隨時間變化的加密變換,具有轉換速度快、低錯誤傳播的優點,硬體實現電路更簡單;其缺點是:低擴散(意味著混亂不夠)、插入及修改的不敏感性。

分組密碼使用的是一個不隨時間變化的固定變換,具有擴散性好、插入敏感等優點;其缺點是:加解密處理速度慢、存在錯誤傳播。

序列密碼涉及到大量的理論知識,提出了眾多的設計原理,也得到了廣泛的分析,但許多研究成果並沒有完全公開,這也許是因為序列密碼目前主要套用于軍事和外交等機密部門的緣故。目前,公開的序列密碼算法主要有RC4、SEAL等。

相關詞條

相關搜尋

熱門詞條

聯絡我們