电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

恺撒密码的加密程序

恺撒密码的加密程序_第1页
1/12
恺撒密码的加密程序_第2页
2/12
恺撒密码的加密程序_第3页
3/12
恺撒密码的加密程序 恺撒密码是公元前50 年古罗马恺撒用过的密码,罗马的军队用凯撒密码(三个字母表轮换)进行通信,加密方法是把a 变成D,b 变成E,c 换成F,依次类推,z 换成C。 将替换密码用于军事用途的第一个文件记载是恺撒著的《高卢记》。恺撒描述了他如何将密信送到正处在被围困、濒临投降的西塞罗。其中罗马字母被替换成希腊字母使得敌人根本无法看懂信息。 苏托尼厄斯在公元二世纪写的《恺撒传》中对恺撒用过的其中一种替换密码作了详细的描写。恺撒只是简单地把信息中的每一个字母用字母表中的该字母后的第三个字母代替。这种密码替换通常叫做恺撒移位密码,或简单的说,恺撒密码。 尽管苏托尼厄斯仅提到三个位置的恺撒移位,但显然从 1 到25 个位置的移位我们都可以使用, 因此,为了使密码有更高的安全性,单字母替换密码就出现了。 如: 明码表 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 密码表 Q W E R T Y U I O P A S D F G H J K L Z X C V B N M 明文 F O R E S T 密文 Y G K T L Z 只需重排密码表二十六个字母的顺序,允许密码表是明码表的任意一种重排,密钥就会增加到四千亿亿亿多种,我们就有超过4× 1027 种密码表。破解就变得很困难。 用C 语言编写恺撒密码的加密解密程序,要求: 每个字符替换为其在ASCII 码中前29 个字符的符号。例如,输入 k,输出为 N。 加密: 方法一: #include main() { char str[100]; int i=0; gets(str); while (str!='\0') { printf("%c",str-29); i++; } } 方法二: #include main() { char c; while((c=getchar())!='\n') { if((c>='a'&&c<='z') || (c>='A'&&c<='Z')) { c=c+4; if(c>'Z'&&c<'Z'+4 || c>'z') c=c-26; } printf("%c",c); } } 程序三: #include main() { char i; printf("Input your word:"); while(1) { i=getchar(); if(i!='\n') printf("%c",i-29); else break; } } 简述密码学 密码学历和密码系统种类 密码学(Cryptology)一字源自希腊文"krypto's"及"logos"两字,直译即为"隐藏"及"讯息"之意。 密码学的起源可能要追溯到人类刚刚出现,并且尝试去学习如何通信的时候。他们不得不去寻找方法确保他们的通信的机密。但是最先有意识的使用一些技术的方法来加密信息的可...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

恺撒密码的加密程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部