已知明文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 金鑰也是演算法的輸入。演算法進行...