91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-08-03 17:48:14 來源:網絡 閱讀:138 作者:龍躍十二 欄目:數據安全

我無論做什么,始終在想著,只要我的精力允許我的話,我就要首先為我的祖國服務。——《巴甫洛夫選集》

本文已經收錄至我的GitHub,歡迎大家踴躍star 和 issues。https://github.com/midou-tech/articles
點關注,不迷路!!!

 繼上一期的流密碼之后,我們就趁熱打鐵趕緊來看看分組密碼是怎么一回事呢?

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

 分組密碼是什么呢?分組分組顧名思義就是將明文消息分成來進行加密,也就是說,加密器每次只能處理特定長度的一組數據,這里的"一組數據"就被稱之為分組。我們也將每一個分組的比特數就稱為分組長度

噔噔噔噔!畫重點來嘍!

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

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

分組密碼:

 分組密碼,就是將明文消息編碼表示后的數字序列 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<m,則在數據加密中有數據擴展。

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

代換:

 如果明文和密文的分組長度都為 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)和雜湊函數等,還可進而成為消息認證技術、數據完整性機制、實體認證協議以及單鑰數字簽字體制的核心組成部分。

 實際應用中對于分組密碼可能提出多方面的要求,除了安全性外,還有運行速度、存儲量(程序的長度、數據分組長度、高速緩存大小)、實現平臺 (硬件、軟件、芯片)、運行模式等限制條件。 這些都需要與安全性要求之間進行適當的折中選擇。

 今天就先和大家說到這里,下一期呢,本應按照計劃講講DES算法,但是DES算法在之前我們就已經說過啦,還有不明白的小伙伴可以翻回去再看看,鏈接給大家,請盡情暴擊! 聊聊密碼學中的DES算法

歷史文章:

  • 懂點密碼學

  • 信息安全威脅
  • 聊聊密碼學中的DES算法
  • 《密碼學系列》—— 流密碼

**求點贊

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

府谷县| 大竹县| 浦北县| 隆子县| 宁晋县| 抚松县| 灵石县| 海原县| 贞丰县| 六安市| 观塘区| 永安市| 琼结县| 界首市| 西畴县| 新河县| 上虞市| 尉氏县| 新兴县| 大厂| 花莲市| 奉贤区| 南平市| 长岛县| 永川市| 颍上县| 神池县| 桃园市| 宜州市| 五华县| 丰县| 察哈| 九龙县| 安达市| 太白县| 团风县| 灵丘县| 通许县| 太保市| 新巴尔虎左旗| 咸阳市|