资源简介
上课写的数据加密算法,用C语言实现DES算法加解密。要求是输入16位16进制的明文,16位的密钥加密。解密运算与加密不同的只是Key的使用顺序相反。亲测样例已过。
代码片段和文件信息
//16轮DES 加解密算法
#include
#include
//初始置换IP
int IP[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
};
//逆初始置换IP_1
int IP_1[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
};
//扩充置换表32-48
//E-边上两列为扩展内容中间32bit为原文
int E_Table[48] = { 31 0 1 2 3 4
3 4 5 6 7 8
7 89101112
111213141516
151617181920
192021222324
232425262728
2728293031 0
};
//置换函数P
int P_Table[32] = { 16 7 20 21 29 12 28 17
1 15 23 26 5 18 3110
2 8 24 14 32 27 3 9
19 13 30 6 22 11 4 25
};
//S盒 压缩48-32
//8个s盒
//6进4出 一与最后2bit选择行,中间4个选列,110011 3行9列;s1中为11即1011;
int S[8][4][16] = {
// S1
1441312151183106125907
0157414213110612119538
4114813621115129731050
1512824917511314100613
// S2
1518146113497213120510
3134715281412011069115
0147111041315812693215
1381013154211671205149
// S3
1009146315511312711428
1370934610285141211151
1364981530111212510147
1101306987415143115212
// S4
7131430691012851112415
1381156150347212110149
1069012117131513145284
3150610113894511127214
// S5
2124171011685315130149
1411212471315015103986
4211110137815912563014
1181271142136150910453
// S6
1211015926801334147511
1015427129561131401138
9141552812370410113116
4321295151011141760813
// S7
4112141508133129751061
1301174911014351221586
1411131237141015680592
6111381410795015142312
// S8
1328461511110931450127
1151381037412561101492
7114191214206101315358
2114741081315129035611
};
//子密钥生成——置换选择1
int PC_1[56] = { 5648403224168
0574941332517
915850423426
1810259514335
62544638302214
6615345372921
1356052443628
201242719113
};
//子密钥生成-置换选择2
int PC_2[48] = { 1316102304
227145209
221811
相关资源
- 3des加密算法C语言实现
- DES加密算法C语言实现
- C语言实现的DES对称加密算法
- 基于空调项目的Autosar 架构的设计.d
- C++实现AES、DES加密算法含MFC界面
- 3DES加密算法C++实现
- DES/3DES算法C语言实现
- DES和3DES加密算法,C语言,适用于单片
- 各种加密算法C语言版
- The Design And Evolution Of C++英文版
- DES算法C++实现.rar
- Practical C++ Design From Programming to Archi
- DES文件加密解密系统 密码学课设
- c语言+UDP+DES加密+socket编程
- MFC写的对文件内容的DES加解密
- stm32L系列F系列 加密库Cryptographic lib
- 密码学:分组密码DES算法C语言版
- vc++实现des加密和解密
- 3DES加密算法 C++实现
- Design Patterns in Modern C++-Apress(2018)
- CoDeSys 2.3 中文教程学习PLC编程的最好
- codesys教程
- 基于C++用用CBC与ECB模式的DES加解密
- DES MFC实现在VC6.0中
- VC6下开发的des邮件加密系统
-
C++ 实现 3DES加解密ba
se64加解密 - MFC实现DES加密解密实现
- DES原理及实现步骤,以及VC++关于DES加
- Virtual Machine Design and Implementation in C
- 《大棚温湿度自动控制系统》 包括
评论
共有 条评论