• 大小: 5.54MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-01
  • 语言: C/C++
  • 标签: DES加解密  

资源简介

使用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.embed.manifest

     文件        472  2017-06-05 17:32  DES CBC与ECB模式\DES\Debug\DES.exe.embed.manifest.res

     文件        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\link-cvtres.read.1.tlog

     文件          2  2017-06-05 17:32  DES CBC与ECB模式\DES\Debug\link-cvtres.write.1.tlog

     文件          2  2017-06-05 17:32  DES CBC与ECB模式\DES\Debug\link.1020-cvtres.read.1.tlog

     文件          2  2017-06-05 17:32  DES CBC与ECB模式\DES\Debug\link.1020-cvtres.write.1.tlog

     文件          2  2017-06-05 17:32  DES CBC与ECB模式\DES\Debug\link.1020.read.1.tlog

     文件          2  2017-06-05 17:32  DES CBC与ECB模式\DES\Debug\link.1020.write.1.tlog

     文件          2  2017-06-05 17:32  DES CBC与ECB模式\DES\Debug\link.6632-cvtres.read.1.tlog

............此处省略36个文件信息

评论

共有 条评论