资源简介
实现DES算法,数据加密解密,文件加密解密
代码片段和文件信息
// DES.cpp: implementation of the DES class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “DESlxp.h“
#include “DES.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
DES::DES()
{
}
DES::~DES()
{
}
// initial permutation 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
};
// final permutation IP^-1
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
};
// expansion operation matrix
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
};
// 32-bit permutation function P used on the output of the S-boxes
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
};
// permuted choice table (key)
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
};
// permuted choice key (table)
const static char PC2_Table[48] = {
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
};
// number left rotations of pc1
const static char LOOP_Table[16] = {
1122222212222221
};
// The (in)famous S-boxes
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
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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 75 2010-08-14 11:25 DES加密算法\Debug\aa.txt
文件 80 2010-09-09 09:41 DES加密算法\Debug\aa.txt.encrypt
文件 127027 2010-09-09 09:57 DES加密算法\Debug\DESlxp.exe
文件 9333 2010-09-09 09:57 DES加密算法\DES.cpp
文件 682 2010-08-14 13:39 DES加密算法\DES.h
文件 37404 2010-09-09 08:48 DES加密算法\DESlxp.aps
文件 2149 2010-09-09 09:57 DES加密算法\DESlxp.clw
文件 2063 2005-05-27 09:42 DES加密算法\DESlxp.cpp
文件 4278 2010-08-14 11:18 DES加密算法\DESlxp.dsp
文件 537 2005-05-27 09:42 DES加密算法\DESlxp.dsw
文件 1324 2005-05-27 09:42 DES加密算法\DESlxp.h
文件 50176 2010-09-09 09:58 DES加密算法\DESlxp.ncb
文件 179712 2010-09-09 09:58 DES加密算法\DESlxp.opt
文件 1165 2010-09-09 09:57 DES加密算法\DESlxp.plg
文件 6834 2010-09-09 08:48 DES加密算法\DESlxp.rc
文件 13468 2010-09-09 09:49 DES加密算法\DESlxpDlg.cpp
文件 1777 2010-09-09 09:27 DES加密算法\DESlxpDlg.h
文件 3579 2005-05-27 09:42 DES加密算法\ReadMe.txt
文件 1078 2005-05-27 09:42 DES加密算法\res\DESlxp.ico
文件 398 2005-05-27 09:42 DES加密算法\res\DESlxp.rc2
文件 1604 2010-09-09 08:48 DES加密算法\resource.h
文件 208 2005-05-27 09:42 DES加密算法\StdAfx.cpp
文件 1054 2005-05-27 09:42 DES加密算法\StdAfx.h
目录 0 2010-09-09 09:58 DES加密算法\Debug
目录 0 2010-08-14 10:16 DES加密算法\res
目录 0 2010-09-09 09:58 DES加密算法
----------- --------- ---------- ----- ----
446005 26
评论
共有 条评论