DES演算法過程概述。

2022-07-28 08:33:11 字數 774 閱讀 5421

愁死我了,明明是更具網上書上說的過程一步一步編出來的程式,居然解密出來的東西和明文一點都不像。。。

再屢一遍步驟,肯定是步驟**錯了!:

1,首先輸入乙個金鑰,程式裡是64位的,然後去掉奇偶校驗位8、16、24、32、40、48、56、64,行成我們所要真正用到的56位金鑰。這裡去掉奇偶校驗位的方法是有乙個置換表,通過它置換出來乙個56位的陣列,而置換的時候是置換表裡是不包括那8個位置的,所以就不用咱們費心挑出來了。

2:然後把這56位的金鑰等分成兩份,a和b, 然後ab進行16次迭代,每次a和b都迴圈左移,至於移多少有個表,然後ab合併變成乙個56位的陣列,再根據表置換,行成乙個48位異或用的key。。。這樣重複16次得到16個使用金鑰

3: 對於明文,先用置換表生成新的64位的資料,然後等分成左右兩部分。left right。然後用置換表擴充套件right為48位,擴充套件後的right和這一輪的48位key異或生成新的right。然後用s盒對right進行壓縮,變成32位,然後用置換表在置換一次,形成新的32位right。接著和left交換位置,這就完成了一輪,總共進行16輪。為保證加密和解密的對稱性,des演算法的前15次迭代每完成一次迭代都要交換left和right的值,第16次迭代不交換兩者的數值.

4:到此把32位的left和right合併成64位的data,根據置換表得到新的64位data.這個就是加密的密文。

5:解密:資料解密的演算法與加密演算法相同,區別在於資料進行按位異或的金鑰的使用順序不同,在加密中是按照第i次迭代就採用第i次迭代生成的金鑰進行異或,而解密時第i次迭代就採用第15-i次迭代生成的金鑰和資料進行異或.

DES演算法概述

des全稱為data encryption standard,即資料加密標準。1997年資料加密標準des正式公布,其分組長度為64位元,金鑰長度為64位元,其中8位元為奇偶校驗位,所以實際長度為56位元。現在des已經被aes所取代。des原理和具體計算過程示例可以參考 des加密教程詳細解讀 c...

des演算法描述 DES演算法描述簡介

des演算法描述簡介 1 簡介 des是data encryption standard 資料加密標準 的縮寫。它是由ibm公司研製的一種加密演算法,美國國家標準局於1977年公布把它作為非機要部門使用的資料加密標準,二十年來,它一直活躍在國際保密通訊的舞台上,扮演了十分重要的角色 10 des是乙...

三重DES概述

前面實現了基本的des演算法,但眾所周知的是des演算法的安全性不是很高,究其原因還得歸結到他的金鑰位上,刨去8位校驗位,剩下的56位金鑰實在太短,以現在普通機器執行的速度,使用窮舉法很快就可以破譯。這是我也是看資料看來得,沒有實踐 基於上述理由所以有必要對des進行修改,因此也就有了多重des。所...