恺撒密码的加密程序

恺撒密码的加密程序

ID:39496576

大小:38.00 KB

页数:12页

时间:2019-07-04

恺撒密码的加密程序_第1页
恺撒密码的加密程序_第2页
恺撒密码的加密程序_第3页
恺撒密码的加密程序_第4页
恺撒密码的加密程序_第5页
资源描述:

《恺撒密码的加密程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、恺撒密码的加密程序恺撒密码是公元前50年古罗马恺撒用过的密码,罗马的军队用凯撒密码(三个字母表轮换)进行通信,加密方法是把a变成D,b变成E,c换成F,依次类推,z换成C。将替换密码用于军事用途的第一个文件记载是恺撒著的《高卢记》。恺撒描述了他如何将密信送到正处在被围困、濒临投降的西塞罗。其中罗马字母被替换成希腊字母使得敌人根本无法看懂信息。苏托尼厄斯在公元二世纪写的《恺撒传》中对恺撒用过的其中一种替换密码作了详细的描写。恺撒只是简单地把信息中的每一个字母用字母表中的该字母后的第三个字母代替。这种密码替换通常叫做恺撒移位密码,或简单的

2、说,恺撒密码。尽管苏托尼厄斯仅提到三个位置的恺撒移位,但显然从1到25个位置的移位我们都可以使用,因此,为了使密码有更高的安全性,单字母替换密码就出现了。如:明码表ABCDEFGHIJKLMNOPQRSTUVWXYZ密码表QWERTYUIOPASDFGHJKLZXCVBNM明文FOREST密文YGKTLZ只需重排密码表二十六个字母的顺序,允许密码表是明码表的任意一种重排,密钥就会增加到四千亿亿亿多种,我们就有超过4×1027种密码表。破解就变得很困难。用C语言编写恺撒密码的加密解密程序,要求:每个字符替换为其在ASCII码中前29个字

3、符的符号。例如,输入k,输出为N。加密:方法一:#includemain(){charstr[100];inti=0;gets(str);while(str!=''){printf("%c",str-29);i++;}}方法二:#includemain(){charc;while((c=getchar())!=''){if((c>='a'&&c<='z')

4、

5、(c>='A'&&c<='Z')){c=c+4;if(c>'Z'&&c<'Z'+4

6、

7、c>'z')c=c-26;}printf("%c

8、",c);}}程序三:#includemain(){chari;printf("Inputyourword:");while(1){i=getchar();if(i!='')printf("%c",i-29);elsebreak;}}简述密码学密码学历和密码系统种类密码学(Cryptology)一字源自希腊文"krypto's"及"logos"两字,直译即为"隐藏"及"讯息"之意。密码学的起源可能要追溯到人类刚刚出现,并且尝试去学习如何通信的时候。他们不得不去寻找方法确保他们的通信的机密。但是最先有意识的使用一些

9、技术的方法来加密信息的可能是公元六年前的古希腊人。他们使用的是一根叫scytale的棍子。送信人先绕棍子卷一张纸条,然后把要写的信息打纵写在上面,接着打开纸送给收信人。如果不知道棍子的宽度(这里作为密匙)是不可能解密里面的内容的。后来,罗马的军队用凯撒密码(三个字母表轮换)进行通信。恺撒密码是公元前50年古罗马恺撒用过的密码,加密方法是把a变成D,b变成E,c换成F,依次类推,z换成C。这样明文和密文的字母就建立一一对应的关系。在随后的19个世纪里面,主要是发明一些更加高明的加密技术,这些技术的安全性通常依赖于用户赋予它们多大的信任程

10、度。在19世纪Kerchoffs写下了现代密码学的原理。其中一个的原理提到:加密体系的安全性并不依赖于加密的方法本身,而是依赖于所使用的密匙。.在二次大战中,密码更是扮演一个举足轻重的角色,许多人认为同盟国之所以能打赢这场战争完全归功于二次大战时所发明的破译密文数字式计算器破解德日密码。破译密文数字式计算器又名图灵机,是数学家图灵所发明的。公元1949年,Shannon提出第一篇讨论密码系统通讯理论之论文,近代密码学可说是滥觞于斯。直至公元1975年,Diffie与Hellman提出公开金匙密码系统之观念,近代密码学之研究方向,正式脱

11、离秘密金匙密码系统之窠臼,蓬勃发展,至今已近二十年。发展至今,已有二大类的密码系统。第一类为对称金钥(SymmetricKey),第二类为非对称金钥(PublicKey)。密码法的基本原理可以分成两种:移位法(transposition)和替代法(substitution)。移位法就是将讯息里面的文字,根据一定的规则改变顺序,这种方法,在文字数量很大的时候,便可以显示出他的优势,例如"HelloWorld"才不过10个字母便可以有11708340914350080000种排列的方式。另外一种方法,就是替代法,还可以分成两种,一种是单字

12、替代,一种是字母替代,两种的原理是一样的,就是利用文字相对顺序的对应,来改变原来的文章,以英文为例,我们可以把英文字母往后移动三个位置,即:abcdefghijklmnopqrstuvwxyzDEFGHIJKLMNOPQ

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

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

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