• 大小: 79KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: C/C++
  • 标签: DES  MFT  

资源简介

DES算法的MFC实现,能加密解密字符串以及文件

资源截图

代码片段和文件信息

// 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  DES加密算法\DES.cpp

     文件        586  2005-05-27 09:53  DES加密算法\DES.h

     文件      22028  2007-10-25 17:59  DES加密算法\DESlxp.aps

     文件       1907  2007-10-25 18:01  DES加密算法\DESlxp.clw

     文件       2063  2005-05-27 09:42  DES加密算法\DESlxp.cpp

     文件       4277  2005-05-27 09:43  DES加密算法\DESlxp.dsp

     文件        537  2005-05-27 09:42  DES加密算法\DESlxp.dsw

     文件       1324  2005-05-27 09:42  DES加密算法\DESlxp.h

     文件      82944  2007-10-25 18:01  DES加密算法\DESlxp.ncb

     文件     173568  2007-10-25 18:01  DES加密算法\DESlxp.opt

     文件        953  2005-05-27 14:34  DES加密算法\DESlxp.plg

     文件       6501  2005-05-27 11:29  DES加密算法\DESlxp.rc

     文件       8602  2005-05-27 14:34  DES加密算法\DESlxpDlg.cpp

     文件       1607  2005-05-27 10:49  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

     文件       1374  2005-05-27 11:29  DES加密算法\resource.h

     文件        208  2005-05-27 09:42  DES加密算法\StdAfx.cpp

     文件       1054  2005-05-27 09:42  DES加密算法\StdAfx.h

    ..AD...         0  2008-04-09 19:19  DES加密算法\Debug

    ..AD...         0  2010-04-02 23:00  DES加密算法\res

     目录          0  2010-03-30 15:15  DES加密算法

----------- ---------  ---------- -----  ----

               323596                    23


评论

共有 条评论