⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 des.txt

📁 des算法程序
💻 TXT
字号:
#include<iostream.h>
class DES
{
public: 
static bool DESCODE(char *Out, char *In, long datalen, const char *Key, int keylen, bool Type); 
DES(){}; 
virtual ~DES(){}; 
~DES(){};
};

//初始置换IP置换表
const static char IP_table[64] = { 
58, 50, 42, 34, 26, 18, 10, 2,
60, 52, 44, 36, 28, 20, 12, 4, 
62, 54, 46, 38, 30, 22, 14, 6, 
64, 56, 48, 40, 32, 24, 16, 8,    
57, 49, 41, 33, 25, 17, 9, 1, 
59, 51, 43, 35, 27, 19, 11, 3, 
61, 53, 45, 37, 29, 21, 13, 5, 
63, 55, 47, 39, 31, 23, 15, 7 
};

//逆初始置换置换表
const static char IPR_table[64] = { 
40, 8, 48, 16, 56, 24, 64, 32, 
39, 7, 47, 15, 55, 23, 63, 31, 
38, 6, 46, 14, 54, 22, 62, 30, 
37, 5, 45, 13, 53, 21, 61, 29,      
36, 4, 44, 12, 52, 20, 60, 28, 
35, 3, 43, 11, 51, 19, 59, 27, 
34, 2, 42, 10, 50, 18, 58, 26, 
33, 1, 41, 9, 49, 17, 57, 25 
}; 

//选择扩展运算E
static const char E_table[48] = { 
32, 1, 2, 3, 4, 5, 
4, 5, 6, 7, 8, 9, 
8, 9, 10, 11, 12, 13, 
12, 13, 14, 15, 16, 17,             
16, 17, 18, 19, 20, 21, 
20, 21, 22, 23, 24, 25,    
24, 25, 26, 27, 28, 29, 
28, 29, 30, 31, 32, 1 
}; 

//置换运算P
const static char P_table[32] = { 
16, 7, 20, 21, 
29, 12, 28, 17, 
1, 15, 23, 26, 
5, 18, 31, 10,               
2, 8, 24, 14, 
32, 27, 3, 9, 
19, 13, 30, 6, 
22, 11, 4, 25 
};

//置换选择1
const static char PC1_table[56] = { 
57, 49, 41, 33, 25, 17, 9, 
1, 58, 50, 42, 34, 26, 18, 
10, 2, 59, 51, 43, 35, 27, 
19, 11, 3, 60, 52, 44, 36, 
63, 55, 47, 39, 31, 23, 15, 
7, 62, 54, 46, 38, 30, 22, 
14, 6, 61, 53, 45, 37, 29, 
21, 13, 5, 28, 20, 12, 4 
}; 

//置换选择2
const static char pc2_table[48] ={
14,17,11,24,1,6,
3,28,15,6,21,10,
23,19,12,4,26,8,
16,7,27,20,13,2,
41,52,31,37,47,55,
30,40,51,45,33,48,
44,49,39,56,34,53,
46,42,50,36,29,32
};

//左循环移位位数
const static char leftmove_table[16]{
1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1
};

const static char s_box[8][4][16]{
//s1盒
{14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,
0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,
4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,
15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13};
//s2





 

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -