资源描述:
《广工网络工程 网络安全试验.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、网络安全实验报告课程名称网络安全实验名称实验1对称密码算法DES实验2非对称密码算法RSA学生学院自动化学院_____专业班级网络工程班学号学生姓名指导教师曾启杰2012年6月14日实验一对称密码算法DES一、实验目的通过用DES算法对实际的数据进行加密和解密来深刻了解DES的运行原理。二、实验环境运行Windows或Linux操作系统的PC机,具有gcc(Linux)、VC(Windows)等C语言编译环境。三、实验内容和步骤(1)对一段不少于1000字节(字符)的明文进行加密和解密,提交软件界面和执行结果。主要的成员变量及函数:classCLab1Dlg:publicCDialo
2、g{inttextLength;//明文的字节数(=密文的字节数)intfulltextLength;//补齐明文块之后的字节数unsignedcharkey[8];//用户输入的密钥unsignedcharplaintext[2000];//明文存储区unsignedcharciphertext[2000];//密文存储区unsignedcharplaintext16[6001];//16进制明文存储区unsignedcharciphertext16[6001];//16进制密文存储区voidencryptOneBlock(unsignedchar*pt,unsignedchar*
3、ct,des_key*skey);//加密一个明文块voiddecryptOneBlock(unsignedchar*ct,unsignedchar*pt,des_key*skey);//解密一个密文块voidgetText(CStringfromtext,unsignedchar*totext,int&textLength);//存储用户输入的明文或密文,返回其首地址和长度(字节数)voidencryptAll(unsignedchar*pt,unsignedchar*ct);//加密全部明文voiddecryptAll(unsignedchar*ct,unsignedchar*p
4、t);//解密全部密文voidshow16(unsignedcharfromtext[],unsignedchartotext[],intlength);//转换成16进制程序主要代码:voidCLab1Dlg::OnButton1()//加密{UpdateData(TRUE);//控件界面显示的数据传到控件变量getText(m_PlainText,plaintext,textLength);//获取编辑框的明文encryptAll(plaintext,ciphertext);//对明文进行加密m_CipherText=ciphertext;show16(plaintext,pla
5、intext16,textLength);show16(ciphertext,ciphertext16,fulltextLength);m_PlainText16=plaintext16;m_CipherText16=ciphertext16;UpdateData(FALSE);//控件变量的数据传到控件界面显示}voidCLab1Dlg::OnButton2()//解密{UpdateData(TRUE);//控件界面显示的数据传到控件变量m_CipherText=ciphertext;getText(m_CipherText,ciphertext,textLength);//获取编
6、辑框的密文decryptAll(ciphertext,plaintext);//对密文进行解密m_PlainText=plaintext;show16(plaintext,plaintext16,textLength);show16(ciphertext,ciphertext16,textLength);m_PlainText16=plaintext16;m_CipherText16=ciphertext16;UpdateData(FALSE);//控件变量的数据传到控件界面显示}voidCLab1Dlg::getText(CStringfromtext,unsignedchar*t
7、otext,int&textLength){textLength=fromtext.GetLength();inti;for(i=0;i