- 10
- 0
- 约8.5千字
- 约 14页
- 2016-06-07 发布于重庆
- 举报
DESD算法的调试
考查题目: DESD算法的调试
1.考核目的
考核对信息安全掌握的程度,主要通过对信息安全技术的核心技术:加密和解密进行考核。
2.考核内容
DES算法的调试;
3.考核要求
1)程序运行基本正确,能够实现加密和解密简单字符串;
2)程序可以实现对文本文件的加密和解密;
3)程序运行过程中提示信息友好,容易理解与操作;
4)程序有图像操作界面,界面美观大方;
5)程序可以实现对其他形式的文件(BMP,JPG etc.)的加密和解密。
5.参考界面
编程实现功能可参考自由软件EDKing界面编程语言不限。(VC++6.0,C++,C#,JAVA etc)Des算法的原理:
Des算法的入口参数有3个:Key,,Data和Mode。其中key为8个字节共64位,是Des算法的工作密钥。Data也为8个字节64为,是要被加密或解密的数据。Mode为Des的工作方式由两种:加密或解密。
如Mode为加密,则用key把数据Data进行加密,生成Data的密码形式(64位)作为?Des的输出结果;
若Mode为解密,则用key把密码形式的数据Data解密,还原为Data的明码形式(64位)作为Des的输出结果
2. 算法实现步骤
实现加密需要3个步骤。
第一步:变换明文。对给定的64位的明文x.,首先通过一个置换IP表来重新排列x.,从而构造出64位的x0, x0=IP(x)=L0R0,其中L0表示x0的前32位,R0表示x0的后32位。
第二步:按照规则迭代。规则为:
Li=Ri-1
Ri=Li⊕f(Ri-1, Ki) (i=1,2,3,…,16)
经过第1步变换已经得到L0和R0的值,其中符号⊕表示数学运算“异或”,f表示一种置换,由s盒置换构成,Ki是一些由密钥编排函数产生的比特块。F和Ki将在后面介绍。
第三步:对L16R16利用IP-1作逆置换,就得到了密文y0加密过程。
3.功能介绍
为了使此程序更具功能性,我在main函数中又加入了菜单功能,更具使用性,通过输入功能改变了原先只能加密固定数据的局限性,通过循环体实现了多次加密。当然还可以加以改进使加密的数据长度更长,或是有更多功能;由于时间有限,此次实验只能做到这里,日后我还会继续完善它。
DESD算法的关键源代码
// DESDemo1.cpp : Defines the entry point for the console application.
#include stdafx.h
#includemalloc.h
#includeiostream.h
#includestring.h
#includestdio.h
enum{encrypt,decrypt}; //encrypt:加密,decrypt:解密
void des_run(char out[8],char[8],bool type=encrypt);
void des_setkey(const char key[8]); //设置密钥
static void f_func(bool in[32],const bool ki[48]); //f函数
static void s_func(bool out[32],const bool in[48]); //s盒代替
static void transform(bool *out,bool *in,const char *table,int len); //变换
static void xor(bool *ina,const bool *inb,int len); //异或
static void rotatel(bool *in,int len,int loop); //循环左移
static void bytetobit(bool *out,const char *in,int bits);//字节组转换成位组
static void bittobyte(char *out,const bool *in,int bits);//位组转换成字节组
//置换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,3
您可能关注的文档
最近下载
- 北京市东城区2025-2026学年七年级上学期期末数学试卷(解析版).docx VIP
- 工程建设标准强制性条文(电力工程)2006.pdf VIP
- 23468-2025坠落防护装备的选择、使用和维护.docx VIP
- 钢热处理-教学课件.ppt VIP
- 2022年天津市高考英语试卷(答案版).pdf VIP
- 2018年4月自考30002幼儿园教育活动设计与组织试卷及答案解释.doc VIP
- 2026年初中物理押题试卷冲刺押题.docx VIP
- 2025年上海虹口区高三二模高考数学模拟试卷(含答案).docx VIP
- 湖南单招国史题目及答案.doc VIP
- 七下语文《必背古诗文》(原文+译文).docx VIP
原创力文档

文档评论(0)