DESC加密演算法詳解

2021-10-05 10:06:07 字數 681 閱讀 8522

已知明文m和金鑰k

對於明文m

根據表進行ip置換(表中的58表示明文中第58位調到第一位去)

得到l0和r0

對於k

根據表進行換位(與1、2步類似)

得到c0、d0

1)求第一次迭代的秘鑰(迴圈左移):

整體往左移一位——> c0:0移到最後一位,剩下的整體全部往前移;

d0:1移到最後一位,剩下的整體全部往前移。

得到c1、d1

2)把c1、d1(共56位)根據表重新排序

得到48位金鑰k1

根據表將右部分32位的輸入(之前的r0)膨脹為48位(加了一些重複的)

得到r0、r』0

48位的k1與r』0進行異或運算(上下兩個數不同的為1,相同的為0)

然後將異或的結果 分成 8個 6位的分組——>進行s盒替換

將s盒輸出的結果代入p盒(就是根據p換位表重新排序)

得到的結果記為函式f的輸出

r1 = l0⊕f(r0,k1)

第一輪的迭代結果:

l1=原先的r0

r1=原先的l0與 第七步函式f的輸出結果進行 異或運算

AES加密演算法詳解

aes 是乙個對稱密碼分組演算法,分組長度為128bit,金鑰長度為128 192 和 256 bit。整個加密過程如下圖所示。1.金鑰生成演算法 金鑰擴充套件過程 1 將種子金鑰按下圖所示的格式排列,然後每32bit分別記為w 0 w 1 w 2 w 3 2 依次取問w 5 w 6 w 43 記為...

C BlowFish對稱加密演算法詳解

blowfish演算法基於feistel網路,加密函式迭代執行16輪,分組長度為64位,金鑰長度可以從32位到448位。演算法由兩部分組成,金鑰擴充套件部分和資料加密部分,金鑰擴充套件部分將最長最長為448位的金鑰轉化成共4168位元組長度的子金鑰陣列,其中,資料加密由乙個16輪的feistel網路...

對稱加密演算法 DES加密演算法

一 對稱加密演算法 對稱加密也稱為常規加密 私鑰或單鑰加密。乙個對稱加密由5部分組成 明文 plaintext 這是原始資訊或資料,作為演算法的輸入。加密演算法 encryption algorithm 加密演算法對明文進行各種替換和轉換。金鑰 secret key 金鑰也是演算法的輸入。演算法進行...