资源简介
3DES(即Triple DES)是DES向AES过渡的加密算法,它使用3条64位的密钥对数据进行三次加密。是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法。比起最初的DES,3DES更为安全。
代码片段和文件信息
// 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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9008 2005-05-27 09:53 3DES\DES.cpp
文件 586 2005-05-27 09:53 3DES\DES.h
文件 22120 2008-11-09 15:20 3DES\DESlxp.aps
文件 1929 2008-12-18 17:17 3DES\DESlxp.clw
文件 2063 2005-05-27 09:42 3DES\DESlxp.cpp
文件 4277 2005-05-27 09:43 3DES\DESlxp.dsp
文件 537 2005-05-27 09:42 3DES\DESlxp.dsw
文件 1324 2005-05-27 09:42 3DES\DESlxp.h
文件 99328 2008-12-18 17:17 3DES\DESlxp.ncb
文件 246 2008-11-09 15:20 3DES\DESlxp.plg
文件 6501 2005-05-27 11:29 3DES\DESlxp.rc
文件 1607 2005-05-27 10:49 3DES\DESlxpDlg.h
文件 1374 2005-05-27 11:29 3DES\resource.h
文件 208 2005-05-27 09:42 3DES\StdAfx.cpp
文件 1054 2005-05-27 09:42 3DES\StdAfx.h
文件 15644 2005-05-27 09:53 3DES\Debug\DES.obj
文件 118834 2005-05-27 14:34 3DES\Debug\DESlxp.exe
文件 253924 2005-05-27 14:34 3DES\Debug\DESlxp.ilk
文件 14913 2005-05-27 10:54 3DES\Debug\DESlxp.obj
文件 5510544 2005-05-27 09:45 3DES\Debug\DESlxp.pch
文件 402432 2005-05-27 14:34 3DES\Debug\DESlxp.pdb
文件 3272 2005-05-27 11:29 3DES\Debug\DESlxp.res
文件 47527 2005-05-27 14:34 3DES\Debug\DESlxpDlg.obj
文件 105433 2005-05-27 09:45 3DES\Debug\StdAfx.obj
文件 214016 2008-12-18 17:17 3DES\Debug\vc60.idb
文件 372736 2005-05-27 14:34 3DES\Debug\vc60.pdb
文件 1078 2005-05-27 09:42 3DES\res\DESlxp.ico
文件 398 2005-05-27 09:42 3DES\res\DESlxp.rc2
文件 8414 2008-12-18 17:17 3DES\DESlxpDlg.cpp
文件 175616 2008-12-18 17:17 3DES\DESlxp.opt
............此处省略6个文件信息
相关资源
- email加密源程序
- DLL加密授权工具MaxtoCode破解版3.5
- 基于混沌算法的图像加密系统C++源码
- VC6下开发的des邮件加密系统
- 高级加密标准 AES (含AES的数学基础,
-
C++ 实现 3DES加解密ba
se64加解密 - MFC实现DES加密解密实现
- RSA加密算法用MFC实现
- DES原理及实现步骤,以及VC++关于DES加
- DH加密C++演示
- AES加密/解密C++源代码
- ECDH加密算法 c语言版
- DES算法(C++实现)49106
- C语言下CryptoAPI加密系统
- AES算法加密解密C++源码及程序完整的
- LZ77算法 C++实现
- 文件加密器(C++).rar
- C++使用Openssl进行RSA加密解密及签名验
- AES GCM和ECB加密软件,和工程文件
- RSA算法加密MFC实现
- DES加密算法 MFC
- 密码编码学:加密方法的C与C++实现
- AES加密解密算法实现C、C++
- c++实现文件的加密和解密
- AES加密解密程序(C++)+实验报告
- 文件加密软件与信息隐藏
- aes加密算法源码
- RSA加密算法
- AES加密的HLS实现与优化
- 数据文件随机加密和解密
评论
共有 条评论