日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

密码学基础知识(五)序列密码

發布時間:2025/3/21 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 密码学基础知识(五)序列密码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

序列密碼,也就是流密碼,是對稱密碼。跟前面分組密碼的區別就在于其加密變換的對象比分組的塊小,一般是Bit。前面說過的vernam密碼就是一種序列密碼。

序列密碼的特點有哪些呢?

? ? ?明文:被加密的是叫明文字。是明文序列的一項。

?????密鑰:由主密鑰(初始密鑰)產生一個密鑰序列,長度和明文字bit長度相同。相應的別叫做密鑰字。

? ? ?密文:經加密函數,明文字與密鑰產生了密文字。

? ? ?加密:與現態(當前狀態)有關。照分組密碼的OFB和CFB理解。

?????序列密碼體制關鍵就在于這個產生密鑰序列的方法,也就是密鑰序列產生器應具有良好的隨機性,讓密鑰序列不可預測。不過一般都是偽隨機。分組密碼的關鍵是加解密算法讓明文密文關聯盡可能復雜。

? ? ?序列密碼分為同步序列密碼和自(異)同步序列密碼。啥區別呢,就是前者密鑰序列獨立于明文序列和密文序列。后者并不獨立。

同步序列密碼特點:消息的發送者和接受者必須同步,即相同的密鑰。

自同步序列密碼特點:明文統計擴散。

好了,說完這些啰嗦的東西,咱們就說說這關鍵的密鑰序列產生器:

???????? 密鑰流產生器。一般看做一個有限狀態自動機,這個機又是啥呢?可以這樣理解,它有三部分,分別是有限狀態集,有限輸入字符集和有限輸出字符集,狀態轉移函數。就是在狀態Si,輸入為Ai時,狀態裝換為Sh并輸出Ah。放在咱們序列密碼中,就是把密鑰流當做輸入,當狀態一變,就輸出。

???????? 好了,那問題來了,這狀態序列怎么確定呢?還有你說輸出就輸出,咋輸出的呢?

???????? 我們將控制狀態序列的部分叫驅動器,一般利用線性反饋移位寄存器。一般要求最長周期或m序列產生器實現。這樣就能為非線性組合部分提供統計性能好的序列了。

???????? 我們將進行非線性組合產生輸出序列的部分叫非線性組合部分。要求F輸入是二元序列輸出也得是,這是最基本要求。對于可定的序列,F應使輸出序列周期足夠大。

???????? 那就談談線性反饋移位寄存器(LFSR)。

一個n階反饋寄存器,由n個二元寄存器和一個反饋函數組成。這n個寄存器的內容所形成的向量即為此時狀態。所以其有2n個狀態。T時刻LFSR狀態為st=(at,at+1,…at+n-1),t+1時刻:st+1=(at+1,at+2,…,at+n),兩者一比,發現兩點不同:

1.??? at輸出了。就這樣,狀態改變就輸出一個,成了輸出序列。S0是及寄存器的初始狀態。

2.??? 多了個at+n,其求法:at+n=f(at,at+1,…at+n-1)。f就是反饋函數。當f的運算為模2加法時,稱為線性移位反饋寄存器(LFSR)。

LFSR特點:

初始狀態非0,新狀態就非0;初始為0 ,狀態恒為0。

選擇合適的f反饋函數可以使周期達到2n-1,即m序列。(2n長明密文就可攻破,畢竟偽隨機)

驅動部分就說這么多,下面說說幾種非線性序列生成器,一般都是幾個LFSR組合起來:

gaffe:3個LFSR,LFSR1,3是輸入,LFSR2是輸出。

J-K觸發器:2個LFSR, Pless產生器是其加強版。

Pless產生器:8個LFSR,4個J-K,一個循環計數器。

鐘控序列產生器:2個LFSR,一個控制另一個的時鐘脈沖。

門限產生器:可變數量n個LFSR。要求:大奇數,所有LFSR長度互素,反饋多項式都是本原的,這樣就最大周期了。

總結一下:序列密碼進行bit加密,有明文字,密鑰字,密文字,關鍵在于密鑰產生器,其分兩部分,驅動(狀態轉移函數,輸出函數,狀態集和輸出集)和非線性組合。驅動一般是LFSR,LFSR是反饋函數f運算為模2加法。最后介紹了集中產生器,都是LFSR組合的,想法設法達成最大周期。


典型的序列密碼算法:RC4,A5和SNOW2.0,最后一個不細說。

首先RC4:被廣泛應用

???? 基于非線性數據表變換的序列密碼。有一個足夠大的數據表提供進行非線性變換,產生非線性輸出序列,它也叫S盒,S盒大小為2n,通常n=8。RC4每個輸出都是S盒中的隨機元素。

好了,那么問題又來了,S盒內是咋排列的?又是怎么隨機選出來的?

???? 主角登場:KSA密鑰調度算法和PRGA偽隨機生成算法,分別解決上述兩個問題。

KSA:

S初始化:把0~255線性填入。

T初始化:臨時向量T,將主密鑰K值付給T,假如K長度小于L,那就將K重復賦值給L,直到L都被賦值了。

用T對S置換:按照T[i]對S進行位置置換,就把元素換個位置。

結束了KSA就是PRFA了

PRGA:從S中隨機取出,并修改S方便下次選取

???? 就是一個算法

所以我們發現其實S盒里就是0-255,只不過是位置一直在變。

RC4至少128位密鑰才安全。

?

A5算法:GSM

???? 介紹下A5/1,典型的基于LFSR的序列密碼算法,3個LFSR,階數分別為19,22,23,均為本原多項式。64位密鑰。

???? 已經明文就可破解A5/1,原因:算法設計太簡單,沒有足夠的混淆和擴散。

?

?

SNOW2.0:

???? 基于LFSR和有限狀態機的序列密碼算法。1個LFSR+1個有限狀態轉換機(2個32位寄存器)。主密鑰K:128位或256位,初始向量:128位。


就這些吧,算法谷歌度娘多得是,有功夫我再寫個上來。懶得寫啊。

總結

以上是生活随笔為你收集整理的密码学基础知识(五)序列密码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。