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

资源简介

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个文件信息

评论

共有 条评论