关于古典密码算法实现,古典密码算法这个问题很多朋友还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!
1、世界上最早的一种密码产生于公元前两世纪。
2、是由一位希腊人提出的,人们称之为棋盘密码,原因为该密码将26个字母放在5×5的方格里,i,j放在一个格子里,具体情况如下表所示1 2 3 4 51 a b c d e2 f g h i,j k3 l m n o p4 q r s t u5 v w x y z这样,每个字母就对应了由两个数构成的字符αβ,α是该字母所在行的标号,β是列标号。
3、如c对应13,s对应43等。
4、如果接收到密文为43 15 13 45 42 15 32 15 43 43 11 22 15则对应的明文即为secure message。
5、另一种具有代表性的密码是凯撒密码。
6、它是将英文字母向前推移k位。
7、如k=5,则密文字母与明文与如下对应关系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 zF G H I J K L M N O P Q R S T U V W X Y Z A B C D E于是对应于明文secure message,可得密文为XJHZWJRJXXFLJ。
8、此时,k就是密钥。
9、为了传送方便,可以将26个字母一一对应于从0到25的26个整数。
10、如a对1,b对2,……,y对25,z对0。
11、这样凯撒加密变换实际就是一个同余式c≡m+k mod 26其中m是明文字母对应的数,c是与明文对应的密文的数。
12、随后,为了提高凯撒密码的安全性,人们对凯撒密码进行了改进。
13、选取k,b作为两个参数,其中要求k与26互素,明文与密文的对应规则为c≡km+b mod 26可以看出,k=1就是前面提到的凯撒密码。
14、于是这种加密变换是凯撒野加密变换的推广,并且其保密程度也比凯撒密码高。
15、以上介绍的密码体制都属于单表置换。
16、意思是一个明文字母对应的密文字母是确定的。
17、根据这个特点,利用频率分析可以对这样的密码体制进行有效的攻击。
18、方法是在大量的书籍、报刊和文章中,统计各个字母出现的频率。
19、例如,e出现的次数最多,其次是t,a,o,I等等。
20、破译者通过对密文中各字母出现频率的分析,结合自然语言的字母频率特征,就可以将该密码体制破译。
21、鉴于单表置换密码体制具有这样的攻击弱点,人们自然就会想办法对其进行改进,来弥补这个弱点,增加抗攻击能力。
22、法国密码学家维吉尼亚于1586年提出一个种多表式密码,即一个明文字母可以表示成多个密文字母。
23、其原理是这样的:给出密钥K=k[1]k[2]…k[n],若明文为M=m[1]m[2]…m[n],则对应的密文为C=c[1]c[2]…c[n]。
24、其中C[i]=(m[i]+k[i]) mod 26。
25、例如,若明文M为data security,密钥k=best,将明文分解为长为4的序列data security,对每4个字母,用k=best加密后得密文为C=EELT TIUN SMLR从中可以看出,当K为一个字母时,就是凯撒密码。
26、而且容易看出,K越长,保密程度就越高。
27、显然这样的密码体制比单表置换密码体制具有更强的抗攻击能力,而且其加密、解密均可用所谓的维吉尼亚方阵来进行,从而在操作上简单易行。
28、该密码可用所谓的维吉尼亚方阵来进行,从而在操作上简单易行。
29、该密码曾被认为是三百年内破译不了的密码,因而这种密码在今天仍被使用着。
30、古典密码的发展已有悠久的历史了。
31、尽管这些密码大都比较简单,但它在今天仍有其参考价值。
本文分享完毕,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!