欢迎来到天天文库
浏览记录
ID:29025656
大小:99.04 KB
页数:7页
时间:2018-12-16
《《凯撒加密算法》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、凯撒加密算法替代加密算法是将明文中的每一个字符用另一个字符替换为密文中的一个字符。除接受者外,其他人不理解其间的替代。接受者对密文作反向替换后恢复成明文。著名的凯撒加密算法就是一种简单的替代加密法,它是将明文中每一个字符用右移3位并以26个字符为模的替代(A由D替代,B由E替代,··…—,W由Z替代,X由A替代,Y由B替代,Z由C替代)。维吉尼亚密码人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。它是由16世纪法国亨利三世王朝的布莱瑟·维吉尼亚发明的。维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表
2、来进行替换,以此来对抗字频统计。维吉尼亚密码的密钥空间大小为26m,所以即使m的值很小,使用穷尽密钥搜索方法也需要很长的时间。例如,当m=5时,密钥空间大小超过1.1*107,这样的密钥量已经超出了使用手算进行穷尽搜索的能力范围。将26个恺撒密表合成一个,见下表: ABCDEFGHIJKLMNOPQRSTUVWXYZ A-ABCDEFGHIJKLMNOPQRSTUVWXYZ B-BCDEFGHIJKLMNOPQRSTUVWXYZA C-CDEFGHIJKLMNOPQRSTUVWXYZAB D-DEFGHIJKLMNOPQ
3、RSTUVWXYZABC E-EFGHIJKLMNOPQRSTUVWXYZABCD F-FGHIJKLMNOPQRSTUVWXYZABCDE G-GHIJKLMNOPQRSTUVWXYZABCDEF H-HIJKLMNOPQRSTUVWXYZABCDEFG I-IJKLMNOPQRSTUVWXYZABCDEFGH J-JKLMNOPQRSTUVWXYZABCDEFGHI K-KLMNOPQRSTUVWXYZABCDEFGHIJ L-LMNOPQRSTUVWXYZABCDEFGHIJK M-MNOPQRSTUVWX
4、YZABCDEFGHIJKL N-NOPQRSTUVWXYZABCDEFGHIJKLM O-OPQRSTUVWXYZABCDEFGHIJKLMN P-PQRSTUVWXYZABCDEFGHIJKLMNO Q-QRSTUVWXYZABCDEFGHIJKLMNOP R-RSTUVWXYZABCDEFGHIJKLMNOPQ S-STUVWXYZABCDEFGHIJKLMNOPQR T-TUVWXYZABCDEFGHIJKLMNOPQRS U-UVWXYZABCDEFGHIJKLMNOPQRST V-VWXYZABCDE
5、FGHIJKLMNOPQRSTU W-WXYZABCDEFGHIJKLMNOPQRSTUV X-XYZABCDEFGHIJKLMNOPQRSTUVW Y-YZABCDEFGHIJKLMNOPQRSTUVWX Z-ZABCDEFGHIJKLMNOPQRSTUVWXY加密方法 维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密: TOBEORNOTTOBETHATISTHEQUESTION 当选定RELATI
6、ONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下: 密钥:RELATIONSRELATIONSRELATIONSREL 明文:TOBEORNOTTOBETHATISTHEQUESTION 密文:KSMEHZBBLKSMEMPOGAJXSEJCSFLZSY 历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。 公元16世纪晚期,想要获得更高的保密度的人获得了一种设计更加精细的密码
7、表。密码技术实验(恺撒加密&维吉尼亚加密)#include"stdio.h"#include"string.h"#include"ctype.h"#include"stdlib.h"#defineN50voidmenu();/*显示菜单*/char*inputPandK();/*输入明文和密钥*/voidcaesar();/*恺撒加密算法*/voidvigenere();/*维吉尼亚加密算法*/intmain(){menu();system("PAUSE");return0;}voidmenu(){inti=0;printf("C
8、lssicalencrptionprogram:");printf("****0-----------EXIT****");printf("****1-----------Keasar****");printf("****2------
此文档下载收益归作者所有