- 1
- 0
- 约2.8万字
- 约 14页
- 2017-02-09 发布于重庆
- 举报
DES加密程序代码(有比较详细的讲解)
DES
??一、准备
??? 首先,头文件与宏定义。
C代码
#include?stdio.h ??
#include?memory.h ??
#include?time.h ??
#include?stdlib.h ??
??
#define?PLAIN_FILE_OPEN_ERROR?-1 ??
#define?KEY_FILE_OPEN_ERROR?-2 ??
#define?CIPHER_FILE_OPEN_ERROR?-3 ??
#define?OK?1??????
#include stdio.h
#include memory.h
#include time.h
#include stdlib.h
#define PLAIN_FILE_OPEN_ERROR -1
#define KEY_FILE_OPEN_ERROR -2
#define CIPHER_FILE_OPEN_ERROR -3
#define OK 1???
??? 其次,对基本数据类型进行typedef。
?? ?这句是不可以少的,请养成良好习惯,不然以后如果你要修改基本数据类型,累死你。???
C代码
typedef?char?ElemType;??
typedef char ElemType;
???
????而后,是初始置换表,逆初始置换表,S-Box等已知数据。????
C代码
?//初始置换表IP ??明文置换
int?IP_Table[64]?=?{??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, ??
?????????????????????????????????56,48,40,32,24,16,8,0, ??
?????????????????????????????????58,50,42,34,26,18,10,2, ??
?????????????????????????????????60,52,44,36,28,20,12,4, ??
?????????????????????????????????62,54,46,38,30,22,14,6};? ??
//逆初始置换表IP^-1 ??
int?IP_1_Table[64]?=?{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, ??
???????????32,0,40,8,48,16,56,24}; ??
??
//扩充置换表E ??
int?E_Table[48]?=?{31,?0,?1,?2,?3,?4, ??
??????????????????3,??4,?5,?6,?7,?8, ??
??????????????????7,??8,9,10,11,12, ??
??????????????????11,12,13,14,15,16, ??
??????????????????15,16,17,18,19,20, ??
??????????????????19,20,21,22,23,24, ??
??????????????????23,24,25,26,27,28, ??
??????????????????27,28,29,30,31,?0}; ??
??
//置换函数P ??S盒出来的32位进行移位
int?P_Table[32]?=?{15,6,19,20,28,11,27,16, ??
??????????????????0,14,22,25,4,17,30,9, ??
??????????????????1,7,23,13,31,26,2,8, ??
??????????????????18,12,29,5,21,10,3,24}; ??
??
//S盒 ??
int?S[8][4][16]?=//S1 ??
???????
您可能关注的文档
- C语言函数的定义与使用.doc
- C语言在闪蒸过程计算中的应用.doc
- C语言基础知识,Keil软件的使用,流水灯数码管74HC57374HC595介绍.doc
- C语言实习报告蜗杆传动的优化设计.doc
- C语言复习题参考答案.doc
- C语言常见问题.doc
- C语言常见问题解答之一.doc
- C语言常见问题解答之二变量和数据存储.doc
- C语言实验三模块化程序设计.doc
- C语言所有题目以及答案.doc
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 平潭澳海上风电场项目可研收口报告2018年4月版本15工程设计概算表.pdf VIP
- 2024年常州信息职业技术学院单招职业技能测试题库(历年真题).docx VIP
- 腹膜透析指南(2025年版).docx VIP
- 党的二十届四中全会PPT课件.ppt VIP
- 产品设计与实训 设计实训.ppt VIP
- 施工现场建筑垃圾减量化专项方案.pdf VIP
- 《数学史》数学的起源.pptx VIP
- 2026年信息科技课标试题及答案.doc VIP
- 本科课件-ArcGIS Engine地理信息系统开发教程(完整).ppt
- 北京通州区2022-2023学年高一下学期期末质量检测英语试卷 含解析.docx VIP
原创力文档

文档评论(0)