维吉尼亚密码的实现

维吉尼亚密码的实现

ID:13224582

大小:147.50 KB

页数:6页

时间:2018-07-21

维吉尼亚密码的实现_第1页
维吉尼亚密码的实现_第2页
维吉尼亚密码的实现_第3页
维吉尼亚密码的实现_第4页
维吉尼亚密码的实现_第5页
资源描述:

《维吉尼亚密码的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《应用密码学》课程实验报告---------------维吉尼亚密码的实现一、实验目的维吉尼亚密码是古典密码中非常具有代表的例子。本实验要求用高级语言编写和调试一个简单的维吉尼亚密码实现及分析破译程序。通过本实验可以加深理解维吉尼亚密码及其分析破译。二、实验内容与要求(1)设计一个函数实现维吉尼亚密码;(2)在已知明文及其对应密文的基础上,分析破译维吉尼亚密码,编程求解密钥;(3)要求有程序实现,有实验结果截图,有测试例子。(4)编程语言不限制,可以用tc2.0,vc6.0,.net或java三、实验设备硬件环境:IntelPentiumProc

2、essor1.8G,512M内存 ,windows操作系统软件环境:VC++四、实验步骤#includeusingnamespacestd;#defineMINCHAR32#defineCHARSUM94chartable[CHARSUM][CHARSUM];boolInit();boolEncode(char*key,char*source,char*dest);boolDncode(char*key,char*source,char*dest);intmain(){if(!Init()){cout<<"初始化错误!"<

3、ndl;return1;}charkey[256];charstr1[256];charstr2[256];intoperation;while(1){do{cout<<"请选择一个操作:1.加密;2.解密;-1.退出";cin>>operation;}while(operation!=-1&&operation!=1&&operation!=2);if(operation==-1)return0;elseif(operation==1)//加密{cout<<"请输入密钥:";cin>>key;cout<<"请输入待加密字符串:";cin>>

4、str1;Encode(key,str1,str2);cout<<"加密后的字符串:"<>key;cout<<"请输入待解密字符串:";cin>>str1;Dncode(key,str1,str2);cout<<"解密后的字符串:"<

5、M;j++){table[i][j]=MINCHAR+(i+j)%CHARSUM;}}returntrue;}//加密//key:密钥//source:待加密的字符串//dest:经过加密后的字符串boolEncode(char*key,char*source,char*dest){char*tempSource=source;char*tempKey=key;char*tempDest=dest;do{*tempDest=table[(*tempKey)-MINCHAR][(*tempSource)-MINCHAR];tempDest++;if

6、(!(*(++tempKey)))tempKey=key;}while(*tempSource++);dest[strlen(source)]=0;returntrue;}//解密//key:密钥//source:待解密的字符串//dest:经过解密后的字符串boolDncode(char*key,char*source,char*dest){char*tempSource=source;char*tempKey=key;char*tempDest=dest;charoffset;do{offset=(*tempSource)-(*tempKey

7、);offset=offset>=0?offset:offset+CHARSUM;*tempDest=MINCHAR+offset;tempDest++;if(!(*(++tempKey)))tempKey=key;}while(*++tempSource);dest[strlen(source)]=0;returntrue;}五、实验结果与分析密钥:AF待加密字符串:WCTHF

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。