您現在的位置是:首頁 > 農業

《密碼學系列》——分組密碼

由 閃念基因 發表于 農業2021-12-30
簡介在圖中可以看到,輸入一個長度為n的明文分組,經過加密器後輸出一個長度為m的密文,但是在一般情況下,我們取m=n,如果遇到n>m,則說明在資料加密中存在資料壓縮,若n下面來看看幾種簡單的設計分組密碼常用的方法

固有長度是什麼意思

在常用的一些密碼系統中,分組密碼在維護系統安全中仍然扮演著一個重要角色,同流密碼一樣,分組密碼的使用也有許許多多需要我們注意的問題。

分組密碼是什麼呢?分組分組顧名思義就是將明文訊息分成

來進行加密,也就是說,加密器每次只能處理特定長度的一組資料,這裡的“一組資料”就被稱之為

分組

。我們也將每一個分組的位元數就稱為

分組長度

噔噔噔噔!畫重點來嘍!

《密碼學系列》——分組密碼

看完分組密碼的解釋,你就能明白流密碼和分組密碼的加密器中是否含有記憶元件的解釋了:對於分組密碼,它處理完一個分組就結束一次加密程序,因此不需要透過內部狀態來記錄加密的進度;相反的是,對於流密碼來說,它是對一個數據流進行連續的加密處理,因此需要加密其中的記憶元件來記錄加密器內部的狀態。

分組密碼:

分組密碼,就是將明文訊息編碼表示後的數字序列 x0 , x1 , …, xi , …,將其劃分成長為 n 的組 x = ( x0 , x1 , …, xn - 1 ),各一個長度為 n 的分組都分別在金鑰 k = ( k0 , k1 , …, kt - 1 ) 控制下,變換成長度為m的等長的輸出數字序列 y = ( y0 , y1 , …, ym - 1 ),其加密函式 E: Vn× K→ Vm,Vn和Vm分別是 n 維和 m 維向量空間,K為金鑰空間。

《密碼學系列》——分組密碼

在圖中可以看到,輸入一個長度為n的明文分組,經過加密器後輸出一個長度為m的密文,但是在一般情況下,我們取m=n,如果遇到n>m,則說明在資料加密中存在資料壓縮,若n

下面來看看幾種簡單的設計分組密碼常用的方法。

代換:

如果明文和密文的分組長度都為 n 位元, 則明文的每一個分組都有2的n次方個可能的取值。

為保證加密後得到的密文可以透過解密運算還原成為明文訊息,明文的每一個分組都應產生惟一的一個密文分組,我們把這樣的變換稱為可逆的, 稱明文分組到密文分組的可逆變換為代換。

我們以n=4為例,來看看分組密碼到底數怎樣加密的?

《密碼學系列》——分組密碼

對於分組長度為4的代換結構,我們可以依據代換表給出代換以後的密文。

《密碼學系列》——分組密碼

但是,這種代換結構在實際應用中還有一些問題需要考慮。

如果分組長度太小,如 n = 4,系統則等價於古典的代換密碼,容易透過對明文的統計分析而被攻破。

這個弱點不是代換結構固有的,只是因為分組長度太小。如果分組長度n足夠大,而且從明文到密文可有任意可逆的代換,明文的統計特性就不會太過明顯,這樣以來,利用代換結構就不容易被攻破。

feistel結構:

Feistel,基本上使每一個剛接觸密碼學的小夥伴們最頭疼的部分了,別怕別怕,今天龍叔跟你細說Feistel結構。

其實對於很多分組密碼來說,它們的結構從本質上說都是基於一個稱為 Feistel 網路的結構。Feistel 提出利用

乘積密碼

可獲得簡單的代換密碼,目的是為了使最後結果的密碼強度高於每個基本密碼系統產生的結果。

乘積密碼:依次使⽤兩個或兩個以上基本密碼。

下來我們看看真正的feistel結構。

《密碼學系列》——分組密碼

上圖為整個feistel的n輪結構,但其實每一輪都是進行同樣的操作,接下來我們就分析在一輪中到底都做了些什麼?

《密碼學系列》——分組密碼

Feistel

加密

1輪的迭代過程

​ - 明⽂2w⽐特,被分為等⻓的兩部分

​ - 第i輪⼦金鑰由初始金鑰K推匯出的

​ - ⼀般來說,每輪⼦金鑰與K不同,也互不相同

​ - F稱為輪函式(每輪都⼀樣)

《密碼學系列》——分組密碼

在每一輪中,都要進行左右的一次運算,並將運算結果傳遞給下一輪。

再來看看我們的feistel解密過程。

《密碼學系列》——分組密碼

Feistel

解密

1輪迭代過程

​ - 被解密的資料左右交換

​ - 解密過程按照與加密過程相反順序使⽤金鑰

《密碼學系列》——分組密碼

解密同加密一樣,也需要進行左右訊息分組的運算,並且要將運算結果傳遞給下一輪。

透過feistel結構的加密和解密,我們可以發現在明文訊息在經過加密以後的密文,可以透過解密演算法將其還原為原始的明文,也就是說該加密演算法是可逆的。

分組密碼的應用非常廣泛,它易於構造偽隨機數生成器、流密碼、訊息認證碼(MAC)和雜湊函式等,還可進而成為訊息認證技術、資料完整性機制、實體認證協議以及單鑰數字簽字體制的核心組成部分。

實際應用中對於分組密碼可能提出多方面的要求,除了安全性外,還有執行速度、儲存量(程式的長度、資料分組長度、快取記憶體大小)、實現平臺 (硬體、軟體、晶片)、執行模式等限制條件。 這些都需要與安全性要求之間進行適當的折中選擇。

推薦文章

  • 1月上旬大富大貴的屬相

    生肖鼠屬鼠的人,事業宮裡有一個“災難”和一個“歲”的惡星,導致很多人的現狀是財運平平,工作辛苦但收入微薄...

  • 首次釋出!210個航空城市排行

    首次釋出!210個航空城市排行新華社記者 任超 攝2015年以來,中國民航大學“航空城市發展指數研究”課題組全面梳理過去50年裡國際民航組織(ICAO)等國內外、行業內外同行的實踐成果,根據民航局、國家統計局、交通運輸部和地方政府建國以來的公開資料,採用機器學習等大資料...

  • 女人45歲以後,不要穿得太基礎!學博主這樣穿,優雅知性又減齡

    女人45歲以後,不要穿得太基礎!學博主這樣穿,優雅知性又減齡一襲淡淡的櫻花粉的大衣清新淡雅,給人一種青春美好的氛圍美,如果單穿這個肯定會被嘲笑扮嫩了,但是“華華姐”內搭白色的毛衣、百褶半身裙,完美平衡了粉色系的張揚和大膽,打造出了優雅氣質又減齡的形象...