实验一加密算法

实验一加密算法

ID:41717989

大小:57.84 KB

页数:19页

时间:2019-08-30

实验一加密算法_第1页
实验一加密算法_第2页
实验一加密算法_第3页
实验一加密算法_第4页
实验一加密算法_第5页
资源描述:

《实验一加密算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验一加密算法1、实验背景•多表替代密码:由多个简单的替代密码构成,例如,町能有5个不同的简单替代密码,分别用于替代明文中不同位置的字符。主耍学习维吉尼亚表。•换位密码:一种早期的加密方法,明文的字母保持相同,但顺序被打乱了。•DES加密算法工作的基本原理:其入口参数有三个:key、data、mode。key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。实际运用屮

2、,密钥只用到了64位中的56位,这样才具有高的安全性。主要掌握S盒替代。2、实验目的1、实验课前复习DES加密、传统加密算法一多表替代(维吉尼亚表替代)、换位密码算法。2、任选C、C++、VC++等其中一种来实现编程实现加密算法。3、调试程序,给定一段明文,和密钥,通过加密算法,给出密文。4、目的:掌握加密算法的基本原理及其加密方法的详细步骤。3、实验所需设备安装Windows9x/2000/XP/2003操作系统和Vismdstudio6.0环境的PC。4、实验拓扑无5、实验步骤■多表替代注意红色字体代

3、码1启动VC++6.0。2新建Win32ConsoleApplication。3在ProjectName和Locate位置填上工程名weijiniya和保存位置(自选)。4按0K按钮。选AnsimpleProjecto5按Finish按钮。6在weijiniya.cpp屮添加如下代码:#include"stdafx.h〃ttinclude#inelude#inelude#ineludevoidShift()/*移位密码*/{cha

4、rc[100];intlength,i二0,key二0;//clrscr();printf("********ShiftCipher********Pleeiseinputprimalsentence:“);gets(c);length=strlen(c);printf(''Inputthekoy(0、26):;scanf("%d",&key);getchar();if(key<0){printf(zzThevalueofkeyiserror!Pressanykeytoreturn...");ge

5、tchO;return;}for(i=0;i96&&c[订〈123)c[i]=(c[i]+key-97)%26+65;elseif(c[i]>64&&c[i]<91)c[i]=(c[i]+key-65)%26+65;}printf("Rcsultis:%s",c);for(i=0;i64&&c[i]<91)c[i]=(c[i]-key-65+26)%26+97;}printf(,zAftertranslatedth

6、esentence,wecanseetheprimalsentenceasfollow:%s",c);printfC'Pressanykeytoreturn...,z);getchO;}intgcd(inta,intb)/*辗转相除法求a,b的最大公因数*/intk二0;do{k=a%b;a=b;b=k;}while(k!=0);returna;}intNi(inta,intb)/*求a相对于b的逆*/{inti=0;wh订e(a*(++i)%b!=l);returni;}voidAffine()

7、/*仿射密码*/{charc[100];intlength,i二0,ka=0,kb=0,tmp;//clrscr();printf("********AffineCipher********Ploaseinputprimalsentencc:〃);gets(c);length=strlen(c);printf("Inputthekey(2numbers):”);scanf("%d%d",&ka,&kb);getchai^();if(gcd(ka,26)!=1){printf(/zThevalueoft

8、hekeyiserror!Pressanykeytoreturn...,z);return;}for(i=0;i96&&c[i]<123)c[i]=(ka*(c[i]-97)+kb)%26+65;elseif(c[i]>64&&c[i]<91)c[i]=(ka*(c[i]-65)+kb)%26+65;}printf("Resultis:%s,z,c);for(i=0;i

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

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

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