當前位置:首頁 » 密碼管理 » feistel加密

feistel加密

發布時間: 2023-04-11 17:07:47

❶ Feistel加密中最後一步交換左右分組有什麼作用

Feistel加密中最後一步交換左右分組是為了提高安全性
Feistel結構就是交搏褲替使地使用替換和置換。替換和置基睜簡換地定義如下:
替換:每個明文元素或元素組被唯一地替換為相應地密文元素或元素組。
置換:明文元素地序列被替換為該序列地一個置換,序列里沒有添加新元素,但是元素出現的順序變了。
分組密碼,是將整個長明文分成若干組,以組為單位進行加密。分組越長意味著安全性越高,但是會降低加密解密的速度。為了簡化加密過程,我們設定每個分組長早纖度都相等,不足則補上空格。
將明文分成若乾等長分組,對於每個分組進行以下加密:
取分組後KSIZE位字元生成子密鑰,將子密鑰與前 (PSIZE - KSIZE)為進行異或加密,再將子密鑰拼接到異或得到的密文後,得到與原分組長度相等的密文C1,再對問C1進行柵欄密碼的加密,最終得到該分組加密的密文。

❷ 04.現代常見分組加密演算法

1.Triple DES

2.IDEA

3.RC6

4.RC6

5.ASE

其實就是有3個密鑰k1,k2,k3,如果m表示明文,C表示密文,他們是這樣操作的:

DES1(m)=>C1

DES2(C1)=>C2

DES3(C3)=>C3

DES密鑰太短是其短板,3DES密鑰長度為k1+k2+k3 = 56*3 = 168bit

既然都Triple自然就有double,為什麼不用Double DES呢?

我們先來看下double des:

首先根據DESC密鑰太短的特點,的確是有了double desc,可用中間相遇攻擊破解(老師坑爹沒講什麼是中間相遇攻擊,日後補上),經過加密有2^64個可能的密文,密鑰長度為112bit(56+56),所以選擇密鑰的可能性達到2^112,於是對給定一個明文P加密成密文有2^112/2^64 = 2^48種可能,對於給定兩個明文密文對,虛警率降為2^(46-64)=2^-16,用中間相遇攻擊大概可用2^57 可暴力破解

那麼如何解決中間相遇攻擊呢?於是設計出了Triple des,它一共有四種模式:

1.DES-EEE3:3個不同的密鑰,順序用三次加密演算法

2.DES-EDE3:3個不同的密鑰, 加密-解密-加密

3.DES-EEE2:兩個不同的密鑰,k1,k2,k1,依次k1加密,k2加密,k1加密

4.DES-EDE2:兩個不同的密鑰,k1,k2,k1,依次k1加密,k2解密,k1加密

這里我們著重介紹第四種,DES-EDE2

同DES相比有如下特點:

1.3DES安全性高,密鑰長度大於DES

2.3DES可抵抗中間相遇攻擊

3.可向下兼容,我們設k2=k1,則密鑰均為k1,上圖中A過程加密後在B過程解密,最後在C過程又加密,相當於僅用k1加密一次,兼容了DES,解密同理

4.相比於DES效率低些

要求:1.效率比3DES高

            2.至少和3DES一樣安全,數據分組長度128bit

它有如下特點:

1.不屬於Feistel結構,屬於SP網路

2.加密,解密相似但不對稱

3.支持128/32=Nb數據塊大小

4.支持128/192/256(/32=Nk)密鑰長度

5.結構簡單速度快

什麼是Feistel結構?

    Feistel 的優點在於:由於它是對稱的密碼結構,所以對信息的加密和解密的過程就極為相似,甚至完全一樣。這就使得在實施的過程中,對編碼量和線路傳輸的要求就減少了幾乎一半

什麼是SP網路結構?

    在這種密碼的每一輪中,輪輸入首先被一個由子密鑰控制的可逆函數S作用,然後再對所得結果用置換(或可逆線性變換)P作用,S和P分別被稱為混亂層和擴散層,主要起混亂和擴散作用

通過置換和替換迭代加密(最後一輪沒有列混淆)

❸ 什麼是Feistel密碼結構,其有什麼作用

Feistel 密碼結構,在密碼學研究中,Feistel 密碼結構是用於分組密碼中的一種對稱結構。以它的發明者 Horst Feistel 為名,而Horst Feistel 本人是一位物理學家兼密碼學家,在他為 IBM 工作的時候,為Feistel 密碼結構的研究畢銷謹奠定了基礎。很多密碼標准都採用了Feistel 結構,其中包括DES。Feistel 的優點在於:由於它是對稱的密碼結構,所以對信息的加密和解密的過程就手基極為相似,甚至完全一樣。這就使得在實施的過程中,對編碼量和線路傳斗亂輸的要求就減少了幾乎一半。

❹ Feistel結構為什麼是加解密互逆

密碼的意思。
在密碼學中,一個密碼是一旦改種分組密碼的結構對稱的結構,命名為德國IBM Horst Feistel密碼;它通常也被稱為Feistel網路。一個大的塊密碼的使用方案,包括數據加密標准(DES)。
Feistel結構的優點是加密和解激逗密操作是非常相似的,在某些情況下,即使是相同的,只需要一個反轉的關鍵時間表。因此需要實現這樣一個密碼的代碼或電路尺寸的一半。
性質使得硬體更容易實現明遲賣密碼Feistel結構迭代。
,- -

❺ feistel密碼解密相當於對密文進行加密運算,但秘鑰編排方案要逆序使用

搜一下:feistel密碼解密相當於對密文進行加密運算,但秘鑰編排方案要逆序使用

❻ 為什麼說研究Feistel密碼很重要

事實上,現在使用的大多頌余數對寬如稱分組加密演算法都是基於Feistel分組密碼結構的。因為這個原慎櫻啟因,研究Feistel密碼的設計原理就很重要了.

❼ 密碼技術(三、二)之對稱密碼(DES)

——用相同的密鑰進行加密和解密
此次主要介紹比特序列運算和XOR(異或)運算。這兩種運算在計算機數據處理中經常出現,因此大家應該在此屬性他們。

  DES(Data Encryption)是1977年美國聯邦信息處理標准(FIPS)中所採用的一種對稱密碼(FIPS46-3)。DES一直以來被美國及其他國家的政府和銀行等廣泛使用。
 隨著計算機的進步,現在DES已經能夠被暴力破解,強度大不如前了。20世紀末,RSA公司舉辦過破譯DES密鑰的比賽,我們可以看一看RSA公司官方公布的比賽結果:1997年的DES Challenge I 中用了96天破譯密鑰,1998年的DES Challenge II-1中用了41天,1998年的DES Challenge II-2中用了56小時,1999年的DES Challenge III 中只用了22小時15分鍾。
 由於DES的密文可以在短時間內被破譯,因此除了用它來解密一起的密文以外,現在我們不應該再使用DES了。

 DES是一種將64比特的明文加密成64比特的密文的對稱密碼演算法,它的密鑰的長度是56比特。盡管從規格上來說,DES的密鑰長度是64比特,但由於每隔7比特會設置一個用於錯誤檢查的比特,因此實質上其密鑰長度是56比特。
 DES 是以64比特的明文(比特序列)為一個單位來進行加密的,這個64比特的單位稱為 分組 ,一般來說,以分組為單位進行處理的密碼演算法稱為 分組密碼 ,DES就是分組密碼的一種。
 DES每次只能加密64比特的數據,如果要加密的明文比較長,就需要對DES加密進行迭代(反復),而迭代的具體方式就稱為 模式

 DES的基本結構是由Horst Feistel設計的,因此也稱為 Feistel網路(Feistel network) 、Feistel結構(Feistel structure)或者Feistel密碼(Feistel cipher)。這一結構不僅被用於DES,在其他很多密碼演算法中也有應用。
 Feistel網路中,加密的各個步驟稱為輪,整個加密過程就是進行若干次輪的循環,下圖,展現的是Feistel網路中一輪的計算流程。DES是一種16輪循環的Feistel網路。

 但是,這樣看來,「右側」根本沒有加密,因此我們需要用不同的子密鑰對一輪的處理重復若干次,並在沒兩輪處理指間將左側和有責的數據對調。

上圖展現了一個3輪的Feistel網路,3輪加密計算需要進行兩次左右對調。對調只在兩輪指間進行,租後一輪結束不需要對調。

那麼,Feistel網路如何解密呢?

如上圖所示,通過上述操作都能夠將密文正確的還原明文。

有多輪的情況也是一樣的,也就是說,Feistel網路的解密操作,只要按照相反的順序來使用子密鑰就可以完成了,而Feistel網路本身的結構,在加密和解密都是完全相同的。

該系列的主要內容來自《圖解密碼技術第三版》
我只是知識的搬運工
文章中的插圖來源於原著

❽ 什麼是feistal cipher

feistal cipher是一種密碼Feistel密碼用於構造的對稱結構。分組密碼,以德國-出生猛歷物沒知歲理學家和cryptographer霍斯特·Feistel在為的工作的同時,誰做了開拓性的研究ibm(美國);它也通常被稱為Feistel網路.密碼使用該方案,包括數據加密標准(Des)。在結構具有以下優點:加密和解密操作非常相似,甚至在某些情況下是枯睜相同的,只需要反轉關鍵進度表因此,實現這種密碼所需的代碼或線路的大小幾乎減半。
一種網路是一種迭代密碼,其內部函數稱為圓函數。

❾ 【密碼學筆記】第3部分 對稱密碼

跟諸位大牛相比,筆者閱歷尚淺、經驗不足,筆記中若有錯誤,還需繼續修正與增刪。歡迎大家的批評與指正。

查看上一篇請點擊以下鏈接: 【密碼學筆記】第2部分 歷史上的密碼

1. XOR運算

2. 一次性密碼本

3. 對稱密碼演算法

    3.1 DES

    3.2 三重DES

    3.3 AES

    3.4 Rijndael

4. 對稱密碼的選擇

5. 對稱密碼的評價

參考書目

XOR運算,又稱為 異或 運算,運算結果是 同0異1 。

對同一個比特序列進行兩次XOR之後就會回到最初的狀態,因此XOR運算可用於對稱密碼的加密和解密。

一次性密碼本(又稱為 維納密碼 )是一種非常簡單的密碼,它的原理是「 將明文與一串隨機的比特序列進行XOR運算 」。

一次性密碼本是無法破譯的。 這是因為在對它嘗試解密的過程中,所有的排列組合都會出現,既會包含規則字元串,也會包含英文單詞,還會包含亂碼。由於明文中所有可能的排列組合都會出現,因此 我們無法判斷其中哪一個才是正確的明文 。

一次性密碼本是一種非常不實用的密碼。 原因如下:

a. 密鑰的配送 。( 最大的問題 )如果能夠有一種方法將密鑰安全地發送出去,那麼就可以用同樣的方法安全地發送明文。

b. 密鑰的保存 。 密鑰的長度必須和明文的長度相等。 如果能夠有辦法安全保存與明文一樣長的密鑰,那就有辦法安全保存明文本身。

c. 密鑰的重用 。在一次性密碼本中絕對不能重用過去用過的隨機比特序列,因為作為密鑰的比特序列一旦泄露,過去所有的機密通信內容將全部被解密。

d. 密鑰的同步 。在通信過程中,發送者和接收者的密鑰的比特序列不允許有任何錯位,否則錯位的比特後的所有信息都將無法解密。

e. 密鑰的生成 。一次性密碼本需要生成大量的隨機數,這里的隨機數並不是通過計算機程序生成的偽隨機數,而必須是無重現性的真正隨機數。

DES是一種將64比特的明文加密成64比特的密文的對稱密碼演算法,它的密鑰長度是56比特。

DES是以64比特的明文(比特序列)為一個單位來進行加密的,這個64比特的單位稱為 分組 。以分組為單位進行處理的密碼演算法稱為 分組密碼 。

DES每次只能加密64比特的數據,如果要加密的明文比較長,就需要對DES加密進行迭代,而迭代的具體方式就稱為 模式(mode) 。

DES的基本結構又稱為 Feistel網路 ,這一結構不僅被用於DES,在其他很多密碼演算法中也有應用。在Feistel網路中,加密的各個步驟稱為 輪(round) ,整個加密過程就是進行若干次輪的循環。下圖展現的是Feistel網路中一輪的計算流程。DES是一種16輪循環的Feistel網路。

一輪的具體計算步驟 如下:

a. 將輸入的數據等分為左右兩部分;

b. 將輸入的右側直接發送到輸出的右側;

c. 將輸入的右側發送到輪函數;

d. 輪函數根據右側數據和子密鑰,計算出一串看上去是隨機的比特序列;

e. 將上一步得到的比特序列與左側數據進行XOR運算,並將結果作為加密後的左側。

我們需要用不同的子密鑰對一輪的處理重復若干次,並在每兩輪處理之間將左側和右側的數據對調。

Feistel網路的解密操作只要按照相反的順序來使用子密鑰就可以完成了。

Feistel網路的性質 :

a. 輪數可以任意增加;

b. 加密時無論使用任何函數作為輪函數都可以正確解密(即使該函數不存在反函數);

c. 加密和解密可以用完全相同的結構來實現。

綜上所述,無論是任何輪數、任何輪函數,Feistel網路都可以 用相同的結構實現加密和解密 ,且加密的結果必定能夠正確解密。

三重DES是為了增加DES的強度,將DES重復3次所得到的一種密碼演算法,也稱為 TDEA ,通常縮寫為 3DES 。

明文經過三次DES處理才能變成最後的密文,由於DES密鑰的長度實質上是56比特,因此三重DES的密鑰長度就是168比特。

三重DES並不是進行三次DES加密,而是 加密→解密→加密 的過程,目的是 讓三重DES能夠兼容普通的DES ,當所有密鑰都相同時,三重DES也就等同於普通的DES。

盡管三重DES目前還被銀行等機構使用,但其處理速度不高,除了特別重視向下兼容性的情況以外,很少被用於新的用途。

AES是取代其前任標准(DES)而成為新標準的一種對稱密碼演算法。全世界的企業和密碼學家提交了多個對稱密碼演算法作為AES的候選,最終選出了一種名為 Rijndael 的對稱密碼演算法,並將其確定為AES。

AES的選拔並不僅僅考慮一種演算法是否存在弱點,演算法的速度、實現的容易性等也都在考慮范圍內。此外,這種演算法還必須能夠在各種平台上有效工作。

Rijndael是由比利時密碼學家設計的 分組密碼演算法 ,被選為新一代的標准密碼演算法——AES。

和DES一樣,Rijndael演算法也是由多個 輪 構成的,其中每一輪分為 SubBytes 、 ShiftRows 、 MixColumns 和 AddRoundKey 共4個步驟。DES使用Feistel網路作為其基本結構,而Rijndael使用的是 SPN結構 。

加密過程 :

a. 首先,需要 逐個位元組 地對16位元組的輸入數據進行SubBytes處理,即以每個位元組的值(0~255)為索引,從一張擁有256個值的 替換表 (S-Box)中查找出對應值( 類似於簡單替換密碼 )。

b. 進行ShiftRows處理,即以4位元組為單位的 行(row) 按照一定的規則向左平移,且每一行平移的位元組數是不同的。

c. 進行MixColumns處理,即對一個4位元組的值進行比特運算,將其變為另外一個4位元組值。

d. 最後,將MixColumns的輸出與輪密鑰進行 XOR ,即進行AddRoundKey處理。至此,Rijndael的一輪就結束了。實際上,在Rijndael中需要重復進行10~14輪計算。

在SPN結構中, 輸入的所有比特在一輪中都會被加密 。和每一輪都只加密一半輸入的比特的Feistel網路相比,這種方式的優勢在於 加密所需要的輪數更少 。此外,這種方式還有一個優勢,即 SubBytes、ShiftRows和MixColumns可以分別以位元組、行和列為單位進行並行計算 。

在Rijndael的 加密 過程中,每一輪所進行的處理為:

SubBytes→ShiftRows→MixColumns→AddRoundKey

而在 解密 時,則是按照相反的順序來進行的,即:

AddRoundKey→InvMixColumns→InvShiftRows→InvSubBytes

解密過程 :

Rijndael演算法背後有著 嚴謹的數學結構 ,即從明文到密文的計算過程可以全部用公式來表達,這是以前任何密碼演算法都不具備的性質。如果Rijndael的公式能夠通過數學運算來求解,那也就意味著Rijndael能夠通過數學方法進行破譯,這也為新的攻擊方式的產生提供了可能。

(1) 因為現在用暴力破解法已經能夠在現實的時間內完成對DES的破譯, DES不應再用於任何新的用途 。但是也需要保持與舊版本軟體的兼容性。

(2) 盡管在一些重視兼容性的環境中會使用三重DES,但 我們也沒有理由將三重DES用於新的用途 ,它會逐漸被AES所取代。

(3) 現在應該使用的演算法是AES(Rijndael) ,因為它安全、快速,而且能夠在各種平台上工作。

(4) AES最終候選演算法應該可以作為AES的備份 ,因為這些密碼演算法也都經過了嚴格的測試,且沒有發現任何弱點。

(5) 一般來說, 我們不應該使用任何自製的密碼演算法 ,而是應該使用AES。

優點 :

使用一種密鑰空間巨大,且在演算法上沒有弱點的對稱密碼,就可以通過密文來確保明文的機密性。 巨大的密鑰空間能夠抵禦暴力破解,演算法上沒有弱點可以抵禦其他類型的攻擊。

不足 :

a. 用對稱密碼進行通信時,還會出現 密鑰的配送問題 ,即如何將密鑰安全地發送給接受者。為了解決密鑰配送問題,需要 公鑰密碼技術 。

b. 盡管使用對稱密碼可以確保機密性,但僅憑這一點還並不能完全放心。 例如發送者可能發送偽造的密文,並利用解密時返回的錯誤來盜取信息。

衷心感謝您的閱讀。

查看下一篇請點擊以下鏈接: 【密碼學筆記】第4部分 分組密碼的模式

❿ 證明DES解密過程是加密過程的逆過程

問題:證明DES解密過程是加密過程的逆運算

證明:

對於DES演算法來說,其基本結構和Feistel密碼的結構相同,只不過多了個S盒子。

結論①:Feistel密碼的解密過程是加密過程的逆過程。

說明如下:

在DES演算法中,其用到了Feistel密碼的經典結構,如下:

Li=Ri-1

Ri=Li-I(XOR)F(Ri-1,Ki)

下面是具體的圖說明:

在Feistel加密的最後一輪,也就是i=16時,輸入為LE15||RE15,而輸出為:

LE16=RE15

RE16=LE15(XOR)F(RE15,K16)

而後交換R和L作為密文輸出

即:LE17=RE16,RE17=LE16

而在Feistel解密的第一輪,即i=1時,先將輸出的密文交換回來作為輸入,即LD0=LE17=RE16,RD0=RE17=LE16

之後再按上圖進行運算,

即LD1=RD0=LE16=RE15;

RD1=LD0 (XOR) F(RD0,K16)=RE16 (XOR) F(RD0,K16)=LE15 (XOR) F(RE15,K16) (XOR) F(RD0,K16)=LE15,所以解密的第一輪輸出為RE15||LE15,這正是加密過程第16輪輸入左右敏局敗部分互換的值。

結論:所以對於Feistel密碼來說,其解密過程正是加密過程的逆過程。

故而我們有第二個結論:

結論②:對於採用了Feistel密碼為基礎結構的DES密碼來橋顫說,其解密過程正是加密過程的逆運算。

只不過在DES密碼中,在進行(XOR)運算後會通過S盒子進行代替和臘鉛選擇,不過這個不是證明要點,故而證明到此結束。

熱點內容
腳本師傳奇 發布:2025-02-13 14:45:48 瀏覽:480
我的世界lce伺服器剪輯 發布:2025-02-13 14:40:50 瀏覽:624
phpsftp上傳 發布:2025-02-13 14:35:43 瀏覽:273
c學生管理系統資料庫 發布:2025-02-13 14:21:41 瀏覽:122
傳奇添加會員腳本 發布:2025-02-13 14:20:50 瀏覽:205
微信開發平台源碼 發布:2025-02-13 14:14:20 瀏覽:613
安卓大屏屏幕休眠是什麼意思 發布:2025-02-13 14:13:28 瀏覽:464
腳本的參數設置 發布:2025-02-13 14:11:57 瀏覽:863
androidtexture 發布:2025-02-13 14:11:57 瀏覽:393
怎麼取消網路密碼怎麼設置 發布:2025-02-13 14:11:54 瀏覽:426