• 大小: 60.42 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-10-06
  • 语言: 其他
  • 标签: Visual  C++  6.0实现  

资源简介

这个是几年前《密码学》课程设计时做的东西了,
并不是很完美,偶尔会出些bug,
只能怪以前学艺不精了,
现在也不想再去怎么修改了,
直接传到网上给各位参考。

资源截图

代码片段和文件信息

// Des.cpp: implementation of the CDes class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “Prj4.h“
#include “Des.h“

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

// Construction
CDes::CDes()
{

}
//Destruction
CDes::~CDes()
{

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//----以下为常量------------------------------------------------------------------//
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//

//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
};

//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 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8211  2008-06-25 19:20  DES加密解密\Des.cpp

     文件       1469  2008-06-25 19:05  DES加密解密\Des.h

     文件      21776  2008-06-26 15:54  DES加密解密\MyDES.cpp

     文件       8340  2008-06-26 11:03  DES加密解密\MyDES.h

     文件      38852  2011-05-21 22:02  DES加密解密\Prj4.aps

     文件       2710  2011-05-21 22:02  DES加密解密\Prj4.clw

     文件       2035  2008-06-25 10:12  DES加密解密\Prj4.cpp

     文件       4384  2008-06-26 11:49  DES加密解密\Prj4.dsp

     文件        533  2008-06-25 10:12  DES加密解密\Prj4.dsw

     文件       1302  2008-06-25 10:12  DES加密解密\Prj4.h

     文件     132096  2011-05-21 22:02  DES加密解密\Prj4.ncb

     文件      53760  2011-05-21 22:02  DES加密解密\Prj4.opt

     文件        967  2011-05-21 22:02  DES加密解密\Prj4.plg

     文件       8099  2011-05-21 22:02  DES加密解密\Prj4.rc

     文件      12727  2008-06-26 10:56  DES加密解密\Prj4Dlg.cpp

     文件       1910  2008-06-26 10:54  DES加密解密\Prj4Dlg.h

     文件       3543  2008-06-25 10:12  DES加密解密\ReadMe.txt

     文件       1078  2008-06-25 10:12  DES加密解密\res\Prj4.ico

     文件        396  2008-06-25 10:12  DES加密解密\res\Prj4.rc2

     文件       1786  2008-06-26 14:47  DES加密解密\Resource.h

     文件        206  2008-06-25 10:12  DES加密解密\StdAfx.cpp

     文件       1054  2008-06-25 10:12  DES加密解密\StdAfx.h

     文件          0  2008-06-30 23:41  DES加密解密\txt.txt

     文件       3222  2008-06-30 23:42  DES加密解密\ViewCode.cpp

     文件       1418  2008-06-26 20:02  DES加密解密\ViewCode.h

     文件      44032  2011-05-21 21:54  DES加密解密\软件说明文档.doc

     目录          0  2011-05-22 14:09  DES加密解密\Debug

     目录          0  2011-05-22 14:09  DES加密解密\Release

     目录          0  2008-07-01 00:33  DES加密解密\res

     目录          0  2011-05-22 14:09  DES加密解密

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

评论

共有 条评论