- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 7
网络安全实验报告
课程名称 网络安全
实验名称实验1对称密码算法DES 实验2非对称密码算法RSA
学生学院 自动化学院 _____
专业班级 网络工程 班
学 号
学生姓名
指导教师 曾启杰
2012 年 6月 14 日
实验一 对称密码算法DES
一、实验目的
通过用DES算法对实际的数据进行加密和解密来深刻了解DES的运行原理。
二、实验环境
运行Windows或Linux操作系统的PC机,具有gcc(Linux)、VC(Windows)等C语言编译环境。
三、实验内容和步骤
(1)对一段不少于1000字节(字符)的明文进行加密和解密,提交软件界面和执行结果。
主要的成员变量及函数:
class CLab1Dlg : public CDialog
{
int textLength; // 明文的字节数(=密文的字节数)
int fulltextLength; // 补齐明文块之后的字节数
unsigned char key[8]; //用户输入的密钥
unsigned char plaintext[2000]; //明文存储区
unsigned char ciphertext[2000]; //密文存储区
unsigned char plaintext16[6001]; //16进制明文存储区
unsigned char ciphertext16[6001]; //16进制密文存储区
void encryptOneBlock(unsigned char *pt, unsigned char *ct,des_key *skey);// 加密一个明文块
void decryptOneBlock(unsigned char *ct, unsigned char *pt,des_key *skey);// 解密一个密文块
void getText(CString fromtext, unsigned char * totext, int textLength);//存储用户输入的明文或密文,返回其首地址和长度(字节数)
void encryptAll(unsigned char *pt, unsigned char *ct);// 加密全部明文
void decryptAll(unsigned char *ct, unsigned char *pt);// 解密全部密文
void show16(unsigned char fromtext[], unsigned char totext[], int length); //转换成16进制
程序主要代码:
void CLab1Dlg::OnButton1() //加密
{
UpdateData(TRUE); //控件界面显示的数据传到控件变量
getText(m_PlainText, plaintext, textLength); //获取编辑框的明文
encryptAll(plaintext, ciphertext); //对明文进行加密
m_CipherText = ciphertext;
show16(plaintext, plaintext16, textLength);
show16(ciphertext, ciphertext16, fulltextLength);
m_PlainText16 = plaintext16;
m_CipherText16 = ciphertext16;
UpdateData(FALSE); //控件变量的数据传到控件界面显示
}
void CLab1Dlg::OnButton2() //解密
{
UpdateData(TRUE); //控件界面显示的数据传到控件变量
m_CipherText = ciphertext;
getText(m_CipherText, ciphertext, textLength); //获取编辑框的密文
decryptAll(ciphertext, plaintext); //对密文进行解密
m_PlainText = plaintext;
show16(plaintext, plaintext16, textLength);
show16(ciphertext, ciphertext16, textLength);
m_PlainText16 = plaintext16;
您可能关注的文档
最近下载
- 输液港常见并发症及处理.pptx VIP
- 海天蒙德Hi驱动器说明书.pdf
- 运动场土方工程方案(3篇).docx VIP
- 基于单片机的土壤湿度检测及控制系统设计.pdf VIP
- 2024年四川省宜宾市【辅警协警】笔试真题(附答案).docx
- GB_T 311.4-2010绝缘配合 第4部分:电网绝缘配合及其模拟的计算导则.docx VIP
- 大学生职业生涯规划与就业指导(高校学生学习职业生涯规划与就业指导课程)全套教学课件.pptx
- 220kv变电站新建工程施工组织设计.docx VIP
- GB_T 311.2-2013绝缘配合 第2部分:使用导则.docx VIP
- 6.3三角形的中位线 课件(共22张PPT).pptx VIP
文档评论(0)