Feistel 密碼結構簡單理解

2021-07-23 11:27:27 字數 1022 閱讀 2726

**於我的部落格

在密碼學研究中,feistel 密碼結構是用於分組密碼中的一種對稱結構。以它的發明者 horst feistel 為名。

對其簡單的理解是:

很好理解對吧=_+,分組加密交換即可,我們再將其複雜化:

完整的feistel密碼

這裡要先知道加密的方式——輪函式f;令k1,k2,……,kn 分別為第1,2,……,n 輪的子金鑰

給明文分組(le0,re0)

對於第i輪(i<=輪數n)

迴圈直到得到(le16,re16)

=(rd0

,ld0

),再將其置換得到密文(le17

,re17)

而解密可以看成其逆過程:要點就是輪函式倒過來使用kn,kn-1,……,k1

給密文分組(ld0

,rd0

)對於第i輪(i<=輪數n)

迴圈直到得到(ld

16,rd

16)=

(re0,le0),再將其置換得到明文

(ld17

,rd17)加密

e(encrypt)/解密

d(decrypt)

在des中,加密輪數一般為16輪(n=16)

例:解密過程第二輪的輸入(ld1

,rd1

)等於加密過程第十六輪的輸出互換的值(re15

,le15

)le16=re15

re16=le15

⊕f(re15

+k16)

ld1=rd0

=le16

=re15

rd1=ld0

⊕f(rd0

+k16)

=re16⊕f(re15

+k16)

=(le15

⊕f(re15+k16

))⊕f(re15+

k16)       ps:d⊕d=0

=le15

⊕(f(re15+k16

)⊕f(re15+

k16))=le15​

密碼學原理 分組密碼,Feistel結構實現

現在使用的大多數對稱分組加密演算法都是基於feistel分組密碼結構的,所以研究feistel密碼的設計原理很重要。先看流密碼和分組密碼的不同,然後看fristel結構在分組密碼上的應用。金鑰形式 例項應用 流密碼隨機 可一次一密 金鑰流必須提前由安全通道傳送 共享對稱金鑰 不同金鑰 位流viene...

資料結構的簡單理解(4)

總結 資料的邏輯結構 資料的儲存結構及資料的運算這三方面是乙個整體。孤立地去理解乙個方面,而不注意它們之間的聯絡是不可取的。邏輯結構可以分為 線性結構和非線性結構。對於一些現實資料項,在討論其資料結構時我們一般先看其邏輯結構是怎樣的,如果這些資料項是線性結構即每個資料項只有乙個前驅節點並且只有乙個後...

簡單理解結構體的記憶體對齊

記憶體對齊三原則 資料成員對齊規則 結構 struct 或聯合 union 的資料成員,第乙個資料成員放在offset為0的地方,以後每個資料成員儲存的起始位置要從該成員大小或者成員的子成員大小 只要該成員有子成員,比如說是陣列,結構體等 的整數倍開始 比如int在32位機為 位元組,則要從 的整數...