DES 加解密算法实现 一、实验目的 在这一实验中,用VC++实现DES加解密算法。完成实验后,将能够深入理解DES加解密算法及其在VC++中的实现过程。 二、实验条件 熟悉V C++开发环境和有关DES 算法知识,安装了V C++6.0 系统的计算机。 三、任务描述 对数据进行加密传输能有效地保证数据的机密性,DES 算法是一个保护数据的机密性的经典算法,本实验在V C++环境中实现DES 算法。在V C++中建立一个项目,并将资料盘中的DES 程序代码添入项目中,实现加/解密功能。 四、操作步骤 1 .进入Microsoft Vilual C++ 6.0 系统界面,选择菜单中的File--New,出现New对话框。 2 .在对话框中,选择Projects 页,在左侧的列表中选择MFC AppWizard[exe],在Project name 文本框中输入新建项目的名称,如DES加解密算法,在Location文本框中选择项目存储路径。单击OK 按钮出现MFC AppWizard-step1 对话框。 3 .在对话框中,选择Dialog based,单击Next 按钮。 4 .之后出现的对话框MFC AppWizard-step 2 of 4、 MFC AppWizard-step 3 of 4 中均单击Next 按钮。MFC AppWizard-step 4 of 4 中单击Finish,出现New Project Information 对话框。单击OK 按钮,一个新项目就建成了。 5 . 在对话框上添加控件资源,如图 1 所示。 6 .在VC++菜单中选择View 中ClassWizard 命令,为控件资源定义变量,出现对话框。可以看到类的所有可被定义变量的控件资源,为每个资源分别定义变量。如:在列表中选择IDC_EDIT1,然后单击Add Variable 按钮,在其后出现的对话框中输入变量名即可。 图 1 DES 加密解密对话框 7 .添加其他变量,右击CDESDlg在弹出的菜单中选择Add Member Variable…命令,在新出现的对话框中,输入变量类型、变量名,选择变量的访问类型。 8 .添加方法。双击按扭控件,可为其添加方法。 9 .将方法中程序代码补充完整。 将# include“math.h”添加到 DES 加解密算法 Dlg.cpp 的头部。 1 0 .项目完成,编译运行。点击“保存”按钮,将实验结果保存在指定文件如“试验数据.txt”中。 五、实验原理 1. DES 算法描述 DES 是一个 16 轮的Feistel 型结构密码,它的分组长度为 64bit,用一个 56bit的密钥来加密一个 64bit的明文串,输出一个 64bit的密文串。其中,使用密钥为 64bit,实用 56bit,另 8 位用作奇偶校验。加密的过程是先对64 位明文分组进行...