序列密碼就是對密文進行逐一的加密或者解密
和分組密碼比起來,分組密碼是一組一組加密,序列密碼就是逐個加密
序列密碼的安全性能主要取決於密鑰流或者密鑰流產生器的特性。
優點:實現簡單、加密和解密速度快、安全性能較好、沒有或少有差錯傳播
序列密碼的基本結構
1.同步序列密碼
同步序列密碼的原理:
種子密鑰k經過由安全信道傳送給收、發雙方后,由密鑰流產生器生成加密和解密所需要的密鑰流,而加、解密本身就是簡單的模2加法運算。
同步序列密碼的特點:
① 密鑰流僅僅依賴於種子密鑰和密鑰流產生器的結構,而與明文流(或密文流)無關。
② 如果密鑰流完全隨機產生且長度至少和明文流一樣長,則可實現絕對安全的“一次一密”。但實際上,這很難做到。
③ 無差錯傳播。因為密鑰流獨立於密文流,所以一個密文的傳輸錯誤不會影響下一個密文的解密。
④ 為了保障接收端能夠正確解密,要求收、發雙方必須嚴格同步。
2.自同步序列密碼
自同步序列密碼的簡介:
與同步序列密碼需要收、發雙方嚴格同步不同,自同步序列密碼能夠依靠自身的能力“自動地”實現收、發雙方的同步,因而是一種不需要外部同步的序列密碼系統。
自同步序列密碼的特點:
① 密鑰流不僅依賴於種子密鑰和密鑰流產生器的結構,還與密文流(或明文流)有關。初始向量IV在這里相當於初始密文的作用,要求收、發雙方必須相同。
② 自同步。解密只取決於先前特定數量的密文字符,因此,即使出現刪除、插入等非法攻擊,收方最終都能夠自動重建同步解密,因而收、發雙方不再需要外部同步。
③ 有差錯傳播。因為密鑰流與密文流有關,所以一個密文的傳輸錯誤會影響下面有限個密文的解密。
密鑰流產生器
密鑰流產生器是決定序列密碼安全性能的主要因素,因而線性反饋寄存器是密鑰流產生器最基本也是最重要的部件。
1.線性反饋移位寄存器
定義:如果將移位寄存器的某些級的輸出通過異或(模2加)運算函數運算后反饋回它的第一級輸入端,便構成了線性反饋移位寄存器。
該式為用右移方式的n級線性反饋移位寄存器的反饋函數,其中
如果n級線性反饋移位寄存器產生的輸出序列的周期為2^n-1,則稱為m序列產生器。m序列不僅周期長,而且偽隨機特性好,這正是序列密碼的密鑰流所需要的特性。
2.基於LFSR的密鑰流產生器