[密码学] 流密码
文章目錄
- 基本概念
- 流密碼模型
- 流密碼和分組密碼的區別
- 處理消息的方式不同
- 記憶性
- 流密碼的特點
- 流密碼的分類
- 同步流密碼
- 模型
- 密鑰流生成器
- 同步的要求
- 無錯誤傳輸
- 自同步流密碼
- 模型
- 密鑰流生成器
- 舉例
- 自同步
- 有限的錯誤傳播
- 線性反饋移位寄存器
- n級線性反饋移位寄存器(LFSR)
- 基本概念
- 周期序列
- m-序列
- B-M算法
- 描述
- 定理
- 舉例
- 線性復雜度攻擊
- 總結
基本概念
設計初衷:將密鑰、明文表示成連續的符號或二進制流,對應的進行加密?
流密碼模型
?①也稱序列密碼,屬于對稱加密算法
?②以某種方式產生密鑰流k1k2……
?③將明文表示成連續的符號(8-bit)或二進制流M=m1m2……
?④加密:C=c1c2……,其中ci=Eki(mi)
?⑤解密:M=m1m2……,其中mi=Dki(ci)
流密碼和分組密碼的區別
處理消息的方式不同
?①分組密碼將消息分割成固定長度的數據塊,以分組大小作為每次處理的基本單元。
?②流密碼加密不定長度的明文數據流,以一個元素(字母或比特)作為基本處理單元。
記憶性
?①分組密碼的加(解)密變換不是時變的,加(解)密器中不存在記憶元件。
?②流密碼中密鑰流的產生由當前時刻的內部狀態和種子密鑰所決定,加(解)密變換是時變的,其時變性由加(解)密器中的記憶元件來保證。
流密碼的特點
?①在實時處理方面效率更高
?②實現簡單
?③便于硬件實現
?④加解密處理速度快
?⑤沒有或只有有限的錯誤傳播
?⑥應用場景:專用或機密機構;無線通信、外交通信等
流密碼的分類
同步流密碼
?一個六元組(P,C,K,L,E,D)和函數g,并滿足一下條件:
?①P是由所有可能明文構成的有限集
?②C是由所有可能密文構成的有限集
?③K是由所有可能密鑰構成的有限集
?④L是一個稱為密鑰流字母表的有限集
?⑤E、D是加解密算法
?⑥g是一個密鑰流生成器,用種子密鑰k作為輸入,產生密鑰流k1k2……
模型
密鑰流生成器
同步的要求
?①發送發和接收方必須同步
?②用同樣的密鑰且該密碼操作在同樣的位置,才能保證正確的解密。
無錯誤傳輸
?①在傳輸期間,一個密文字符被改變,只影響該字符的恢復,不會對后繼字符產生影響。
?②對應一位出錯,其他位不受影響。
?③注意:改變不是刪除,插入和刪除將導致同步丟失。
自同步流密碼
模型
密鑰流生成器
舉例
自同步
?①解密只取決于先前固定數量(即移位寄存器的長度t)的密文字符。
?②在同步丟失后能自動重新建立正確的解密,只有固定數量的明文字符不能被恢復。
有限的錯誤傳播
?①狀態取決于t個已有的密文字符。
?②如果一個密文字符在傳輸過程中出現差錯,則解密時最多影響到當前位和后續t個字符的解密。注:當前位和后續t個字符不一定是連續的
線性反饋移位寄存器
?安全性主要取決于密鑰流生成器的設計:
?①必須使用非線性變換;
?②兩部分:
??驅動部分(擴散):①控制生成器的狀態序列,為非線性組合部分提供統計性能好的序列
?????????②(非)線性反饋移位寄存器((N)LFSR)
??非線性組合部分(混亂):將驅動部分所提供的序列組合成密碼特性好的序列即密鑰流
n級線性反饋移位寄存器(LFSR)
基本概念
周期序列
?①終歸周期序列
??對于F2上的半無限序列a=a0a1a2……,如果存在正整數T和非負整數j0,滿足aj+T=aj,對于所有的j≥j0成立,則稱該序列是終歸周期的,且T為該序列的一個周期。所有可能周期的最小者,稱為序列的最小終歸周期,記為p(a)。
?②周期序列
??如果j0=0,則a稱為周期序列。
m-序列
?若n級LFSR產生序列的周期為2^n-1,則稱該序列為n級最大周期LFSR序列,簡稱m-序列。
?本原多項式定義:
B-M算法
描述
問題:已知一個序列S,如何構造一個均可能短的LFSR來產生S。
定理
舉例
線性復雜度攻擊
?①產生周期序列的最短LFSR的級數稱為周期序列的線性復雜度;
?②線性復雜度攻擊利用周期序列a的任意連續已知段,嘗試計算聯結多項式,從而恢復周期序列;
?如果a是n級m-序列,則利用a的前2n位,或任意一個長為2n的截段(或者n個連續n+1比特),用線性復雜度攻擊可確定初始狀態和聯結多項式(可能不是極小聯結多項式)。
總結
?m-序列生成器適宜用在密鑰流生成器的驅動部分,完成將種子密鑰擴展成周期大、統計特性好的驅動序列的任務,而不能單獨用作密鑰源。
總結
- 上一篇: [密码学] 杂凑函数
- 下一篇: [密码学] 复杂性理论基础