- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
哈尔滨工业大学(威海)_密码学应用和实践实验
密码学应用与实践
实验指导
班级: 1004101
学号: 100410129
姓名: 刘杨
哈尔滨工业大学(威海)
实验1:实现DES密码体制
姓名
刘杨(学生)
院系
计算机科学与技术
学号
100410129
任课教师
刘杨
指导教师
刘杨
实验地点
宋健2楼
实验时间
2013.9
实验课表现
出勤、表现得分
实验报告
得分
实验总分
操作结果得分
一、实验目的
1. 编写程序实现DES的加、解密:
1)编程构造DES的密钥;
2)应用上述获得的密钥将文件或文件夹或图片进行加、解密。
2. 用DES算法实现口令的安全
二、实验内容
#include stdlib.h
#include stdio.h
#include string.h
void ShowHex( char *cmd, int len );
void ShowArray( const char *In, int len );
void FuncF(bool In[32], const bool Ki[48]);
void FuncS(bool Out[32], const bool In[48]);
void Xor(bool *InA, const bool *InB, int len);
void RotateL(bool *In, int len, int loop);
void Tran(bool *Out, bool *In, const char *Table, int len);
void Btob(bool *Out, const char *In, int bits);
void btoB(char *Out, const bool *In, int bits);
#define ENCRYPT 1
#define DECRYPT 0
bool SubKey[16][48];
const static char MyTableA[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
};
const static char LOOP_Table[16] =
{
1, 1, 2, 2, 2, 2, 2, 2,
1, 2, 2, 2, 2, 2, 2, 1
};
const static char MyTableB[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
};
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
};
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,
};
//S-boxes部?分¤?
const static char S_Box[8][4][16] =
{
您可能关注的文档
最近下载
- Injoinic-IP5413V宏盛微半导体30.pdf
- 2025年新消防员面试题库及答案.doc VIP
- 闽教版三年级上册英语全册新质教学课件(配2024年秋改版教材).pptx
- 高层超高层落地式脚手架施工方案.pdf VIP
- 乘用车内部凸出物法规(gb11552-2009)培训【课件】.ppt VIP
- 压力管道管理评审报告.docx VIP
- Unit9 I like music that I can dance to作业设计人教版九年级英语全册.pdf VIP
- 售后服务方案范本 售后服务保障方案.doc VIP
- 罐区钢平台格栅板及护栏安装施工方案.docx VIP
- 公司包材知识培训.pptx
文档评论(0)