对称密码算法DES.doc
文本预览下载声明
实验二 对称密码算法DES一、实验目的:??? 1.通过实验,让学生掌握典型的加密算法的软件实现方法,对加密原理有更深入的认识。二、实验要求??? 学生按照以下各个实验步骤的要求,通过查阅相关的资料,经过调查分析,掌握计算机对称加密算法DES实现等,培养学生分析问题和解决问题的能力。学生按照实验步骤的要求完成并提交分析论文。三、实验学时?? 4学时四、实验环境?? 硬件设备:计算机、局域网?? 系统软件:Windows系统?? 支撑软件:C或Visual C++等编译环境五、实验内容?? 根据教材并上网查找资料,完成计算机对称加密算法DES实现,具体要求如下:?? 1.DES加解密软件调试通过2.利用DES对某一数据文件进行单次加密和解密操作。???3.界面简洁、友好,便于操作。?? 验收要求:验机通过,并提交实验报告,实验报告包括下列若干项:???1、DES的加密、解密算法流程框图?? 2、DES加密系统关键模块的实现(加必要代码注释)?? 3、DES加密前后的明文与密文#i nclude stdlib.h#i nclude stdio.h#i nclude string.h#i nclude memory.h#i nclude malloc.h#i nclude des.h
#define SUCCESS 0 #define FAIL -1
#define READFILESIZE 512
#define WZ_COMMEND_NUM 4#define WZUSEHELPNUM 19#define DESONE 1#define DESTHREE 2#define DESMULTI 3INT8 *WZ_Commend_Help[] ={??基于DES的加密解密工具v1.0? ,/*0*/??追求卓越,勇于创新?? ,??----著者 :? 吴真---?? ,????? ? ?};
INT8 *WZ_USE_HELP[]={?输入5+n个参数:,?\t1.可执行文件名 *.exe,?\t2.操作类型 1:一层加密;2:一层解密;,?\t\t13:N层单密钥加密;23:N层单密钥解密;,?\t\t39:N层多密钥加密;49:N层多密钥解密,?\t3.读出数据的文件名*.txt,?\t4.写入数据的文件名*.txt,??\t5.密钥(8字节例如:wuzhen12),??\t[6].N层单密钥的层数或者...二层加密|解密密钥,??\t[7].三层加密|解密密钥,?\t[8]. ...,?\t[N].N层加密|解密密钥,?\t 例1: des 1 1.txt 2.txt?\t??? : des 2 2.txt 3.txt?\t 例2: des 13 1.txt 2.txt tiantian 5,?\t??? : des 23 2.txt 3.txt tiantian 5,?\t 例3: des 39 1.txt 2.txttiantian gaoxinma,?\t??? : des 49 2.txt 3.txttiantian gaoxinma,?******************************};
?
INT32 hextofile( ULONG8 *buf ,FILE *writefile, ULONG32 length);/*以16进制写入文件*/INT32 encodehex(ULONG8 *tobuf,ULONG8 *frombuf,ULONG32 len);/*16进制解码*/
INT32 file_enc(FILE *readfile,FILE *writefile,????? ULONG8 *key,ULONG32 keynum,????? ULONG8 **superkey,ULONG32 n_superkey,????? ULONG8 flag);INT32 file_dec(FILE *readfile,FILE *writefile,????? ULONG8 *key,ULONG32 keynum,????? ULONG8 **superkey,ULONG32 n_superkey,????? ULONG8 flag);void wz_print_help();
INT32 main(INT32 argc,INT8 *argv[]){?INT8 *FILENAME1,*FILENAME2;??? ?FILE *fp, *fp2;??ULONG8 *key ;?ULONG8 **s
显示全部