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