资源简介
使用C++编程语言的DES加解密,使用了CBC与ECB的两种加密模式
代码片段和文件信息
#include “DES.h“
/************************************************************************/
/************************************************************************/
/* 静态常量放在这里 */
const unsigned int DES::IP_[64] = /*初始置换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
};
const unsigned int DES::IPR_[64] = /*逆初始置换IPR*/
{
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
};
const unsigned int DES::PC_1_[56] = /*置换选择1 把64位初始密钥变成56位密钥*/
{
/*注释的部分是对应64位带奇偶校验的*/
/*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*/
50 43 36 29 22 15 8 1 51 44 37 30 23 16
9 2 52 45 38 31 24 17 10 3 53 46 39 32
56 49 42 35 28 21 14 7 55 48 41 34 27 20
13 6 54 47 40 33 26 19 12 5 25 18 11 4
};
const unsigned int DES::PC_2_[48] = /*置换选择2 得到48位密钥K*/
{
/*注释的部分是对应64位带奇偶校验的*/
/*14 17 11 24 1 5 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*/
14 17 11 24 1 5 3 28 15 6 21 10
23 19 12 4 26 8 16 7 27 20 13 2
13 24 3 9 19 27 2 12 23 17 5 20
16 21 11 28 6 15 18 14 12 8 1 4
};
const unsigned int DES::LOOP_[16] = /*左移方案*/
{
1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
};
const unsigned int DES::SBOX_[8][4][16] = /*S盒代换*/
{
// 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
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
// S3
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
// S4
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
// S5
2 12 4 1 7 10 11 6
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 35 2017-06-05 17:45 DES CBC与ECB模式\1.txt
文件 0 2017-06-05 17:54 DES CBC与ECB模式\2.txt
文件 0 2017-06-05 17:54 DES CBC与ECB模式\3.txt
文件 17 2017-06-05 17:36 DES CBC与ECB模式\a.txt
文件 12 2017-06-03 14:09 DES CBC与ECB模式\b.txt
文件 0 2017-06-05 17:55 DES CBC与ECB模式\c.txt
文件 0 2017-06-05 17:55 DES CBC与ECB模式\d.txt
文件 173568 2017-06-05 17:32 DES CBC与ECB模式\Debug\DES.exe
文件 816896 2017-06-05 17:32 DES CBC与ECB模式\Debug\DES.ilk
文件 986112 2017-06-05 17:32 DES CBC与ECB模式\Debug\DES.pdb
文件 4826 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\cl.command.1.tlog
文件 60214 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\CL.read.1.tlog
文件 2042 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\CL.write.1.tlog
文件 406 2017-06-03 23:28 DES CBC与ECB模式\DES\Debug\DES.exe.em
文件 472 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\DES.exe.em
文件 381 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\DES.exe.intermediate.manifest
文件 34 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\DES.lastbuildstate
文件 6009 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\DES.log
文件 525277 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\DES.obj
文件 713 2017-06-04 15:58 DES CBC与ECB模式\DES\Debug\DES.vcxprojResolveAssemblyReference.cache
文件 0 2017-06-03 23:25 DES CBC与ECB模式\DES\Debug\DES.write.1.tlog
文件 63435 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\DES_CBC.obj
文件 196 2017-06-03 23:28 DES CBC与ECB模式\DES\Debug\DES_manifest.rc
文件 2 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\li
文件 2 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\li
文件 2 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\li
文件 2 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\li
文件 2 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\li
文件 2 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\li
文件 2 2017-06-05 17:32 DES CBC与ECB模式\DES\Debug\li
............此处省略36个文件信息
- 上一篇:基于STM32的小车红外黑线寻迹代码
- 下一篇:cppcheck.hpi 1.9
评论
共有 条评论