DES加密演算法的C語言實現

2021-04-13 09:17:50 字數 1428 閱讀 6645

#include

/* des version 0.4 created by ****** source at 2007.3 */

/* competence :

* p4 3.0g 512m

* 3000000 times encryption with created subkeys

* 26.784 seconds (about 0.85m/s)*/

static __int64 g_arraymask[64] =

;static int g_arrayip[64] =

;static int g_arraye[64] =

;static char g_matrixnsbox[8][64] = ,,

,,,,

,,};static int g_arrayp[32] =

;static int g_arrayip_1[64] =

;static int g_arraypc_1[56] =

;static int g_arraypc_2[64] =

;static int g_arrayls[16] = ;

static __int64 g_arrayl**ask[3] =

;#define bittransform(array, len, source, dest) //}/

}#define des_mode_encrypt        0

#define des_mode_decrypt        1

void dessubkeys(__int64 key, __int64 k[16], int mode);

__int64 des64(__int64 subkeys[16], __int64 data);

void dessubkeys(__int64 key, __int64 k[16], int mode)

/* pc-2變換 */

bittransform(g_arraypc_2, 64, temp, k[j]);

}if(mode == des_mode_decrypt) /* 如果解密則反轉子金鑰順序 */}}

__int64 des64(__int64 subkeys[16], __int64 data)

/* 主迭代 */

/* 與子金鑰異或 */

r ^= subkeys[i];

/* s盒變換 */

r = sout;

}/* p變換 */

}/* f變換完成 */

l = psource[0];

psource[0] = psource[1];

psource[1] = (__int32)(l ^ r);

}/* 交換高低32位 */

}/* ip-1變換 */

return out;

}

C 實現DES加密 演算法

我的第一篇部落格就是 c語言實現des加密 今天重寫的時候發現好像 傳錯了,有些尷尬,其中有各種奇怪的問題 問題1.好多表,包括s盒之類的寫成char型別了,應該寫int型別才對 問題2.好多變數沒宣告就用了 問題3.為啥我當時要寫這麼多static?問題4.沒標頭檔案,全擠在cpp裡面了 更新修復...

c語言實現idea加密演算法

idea 資料加密演算法及實現 idea 對稱資料加密演算法,是我寫的第乙個關於加解密方面的演算法,在大學宿舍里弄了差不多將近二十個小時終於搞懂了。剛開始受到了 不良 資料的誤導走了很長時間的彎路,後來在圖書館看到了正確的介紹才終於把這個演算法給弄出來了。1 簡介idea,即國際資料加密演算法 是旅...

DES加密演算法

命名空間 system.security.cryptography 定義訪問資料加密標準 des 演算法的加密服務提供程式 csp 版本的包裝物件。無法繼承此類。測試1加密頁面 protected void page load object sender,eventargs e response.r...