‘壹’ 什么是古典密码
乘积和迭代:多种加密方法混合使用 对一个加密函数多次迭代 古典密码编码方法: 置换,代替,加法 把明文中的字母重新排列,字母本身不变,但其位置改变了,这样编成的密码称为置换密码。 最简单的置换密码是把明文中的字母顺序倒过来,然后截成固定长度的字母组作为密⑴单表代替密码
①、加法密码
A和B是有 n个字母的字母表。 定义一个由A到B的映射:f:A→B f(ai )= bi=aj j=i+k mod n 加法密码是用明文字母在字母表中后面第 k个字母来代替。 K=3 时是着名的凯撒密码。 恺撒密码——历史上第一个密码技术 “恺撒密码”是古罗马恺撒大帝在营救西塞罗战役时用来保护重要军情的加密系统(高卢战记)。
②、乘法密码
?A和B是有n个字母的字母表。?定义一个由A到B的映射:f:A→B f(ai )= bi= aj j=ik mod n 其中,(n,k)=1。?注意:只有(n,k)=1,才能正确解密。
③密钥词组代替密码
随机选一个词语,去掉其中的重复字母,写到矩阵的第一行,从明文字母表中去掉这第一行的字母,其余字母顺序写入矩阵。然后按列取出字母构成密文字母表
编辑本段⑵、多表代替密码
?单表代替密码的安全性不高,一个原因是一个明文字母只由一个密文字母代替。?构造多个密文字母表,?在密钥的控制下用相应密文字母表中的一个字母来代替明文字母表中的一个字母。一个明文字母有多种代替。? Vigenere密码:着名的多表代替密码
(3)、代数密码:
① Vernam密码
明文、密文、密钥都表示为二进制位: M=m1,m2,… ,mn K =k1,k2,… ,kn C =c1,c2,… ,cn
② 加密
c1= mi⊕ ki ,i=1,2,… ,n 解密 : m1= ci⊕ ki ,i=1,2,… ,n
③
因为加解密算法是模2加,所以称为代数密码。
④对合运算
f=f-1,模 2加运算是对合运算。 密码算法是对和运算,则加密算法=解密算法,工程实现工作量减半。
⑤ Vernam密码经不起已知明文攻击
。
⑥
如果密钥序列有重复,则Vernam密码是不安全的。
⑦一种极端情况
一次一密 ? 密钥是随机序列。 ? 密钥至少和明文一样长。 ? 一个密钥只用一次。
⑧
一次一密是绝对不可破译的,但它是不实用的。
⑨
一次一密给密码设计指出一个方向,人们用序列密码逼近一次一密。
‘贰’ 古典加密技术中最基本的两种算法是什么
替代算法和置换移位法。
1.替代算法
替代算法指的是明文的字母由其他字母或数字或符号所代替。最着名的替代算法是恺撒密码。凯撒密码的原理很简单,其实就是单字母替换。我们看一个简单的例子:
明文:abcdefghijklmnopq
密文:defghijklmnopqrst
若明文为student,对应的密文则为vwxghqw 。在这个一一对应的算法中,恺撒密码将字母表用了一种顺序替代的方法来进行加密,此时密钥为3,即每个字母顺序推后3个。由于英文字母为26个,因此恺撒密码仅有26个可能的密钥,非常不安全。
为了加强安全性,人们想出了更进一步的方法:替代时不是有规律的,而是随机生成一个对照表。
明文:abcdefghijklmnopqrstuvwxyz
密文:xnyahpogzqwbtsflrcvmuekjdI
此时,若明文为student,对应的密文则为 vmuahsm 。这种情况下,解密函数是上面这个替代对照表的一个逆置换。
不过,有更好的加密手段,就会有更好的解密手段。而且无论怎样的改变字母表中的字母顺序,密码都有可能被人破解。由于英文单词中各字母出现的频度是不一样的,通过对字母频度的统计就可以很容易的对替换密码进行破译。为了抗击字母频度分析,随后产生了以置换移位法为主要加密手段的加密方法。
2.置换移位法
使用置换移位法的最着名的一种密码称为维吉尼亚密码。它以置换移位为基础的周期替换密码。
前面介绍的替代算法中,针对所有的明文字母,密钥要么是一个唯一的数,要么则是完全无规律可寻的。在维吉尼亚密码中,加密密钥是一个可被任意指定的字符串。加密密钥字符依次逐个作用于明文信息字符。明文信息长度往往会大于密钥字符串长度,而明文的每一个字符都需要有一个对应的密钥字符,因此密钥就需要不断循环,直至明文每一个字符都对应一个密钥字符。对密钥字符,我们规定密钥字母a,b,c,d……y,z对应的数字n为:0,1,2,3……24,25。每个明文字符首先找到对应的密钥字符,然后根据英文字母表按照密钥字符对应的数字n向后顺序推后n个字母,即可得到明文字符对应的密文字符。
如果密钥字为deceptive , 明文为 wearediscoveredsaveyourself,则加密的过程为:
明文: wearediscoveredsaveyourself
密钥: deceptivedeceptivedeceptive
密文: zicvtwqngrzgvtwavzhcqyglmgj
对明文中的第一个字符w,对应的密钥字符为d,它对应需要向后推3个字母,w,x,y,z,因此其对应的密文字符为z。上面的加密过程中,可以清晰的看到,密钥deceptive被重复使用。
古典密码体制将数学的方法引入到密码分析和研究中。这为现代加密技术的形成和发展奠定了坚实的基础。
‘叁’ 为什么说加法密码、乘法密码、仿射密码、置换密码、Hill密码以及Vigenere密码
加法密码就是真典密码学中的恺撒密码格式是:密文=(明文+密钥)mod26,剩法密码是恺撒密码发展出来,格式是:密文=明文x实钥mon26;置换密码就是在简单的纵行换位密码中,明文以固定的宽度水平的写在一张图表纸上,密文按垂直方向读出,解密就是密文按相同的宽度垂直的写在图表纸上,然后水平的读出明文。希尔密码(Hill Cipher)是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果MOD26;Vigenere是恺撒密码演变而来。使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。
有兴趣可以了解一下古典密码学,这里面都有。
‘肆’ 古典加密算法有哪些 古典加密算法
世界上最早的一种密码产生于公元前两世纪。是由一位希腊人提出的,人们称之为
棋盘密码,原因为该密码将26个字母放在5×5的方格里,i,j放在一个格子里,具体情
况如下表所示
1 2 3 4 5
1 a b c 搜索d e
2 f g h i,j k
3 l m n o p
4 q r s t u
5 v w x y z
这样,每个字母就对应了由两个数构成的字符αβ,α是该字母所在行的标号,β是列
标号。如c对应13,s对应43等。如果接收到密文为
43 15 13 45 42 15 32 15 43 43 11 22 15
则对应的明文即为secure message。
另一种具有代表性的密码是凯撒密码。它是将英文字母向前推移k位。如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 z
F 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。此时,k就是密钥。为了
传送方便,可以将26个字母一一对应于从0到25的26个整数。如a对1,b对2,……,y对
25,z对0。这样凯撒加密变换实际就是一个同余式
c≡m+k mod 26
其中m是明文字母对应的数,c是与明文对应的密文的数。
随后,为了提高凯撒密码的安全性,人们对凯撒密码进行了改进。选取k,b作为两
个参数,其中要求k与26互素,明文与密文的对应规则为
c≡km+b mod 26
可以看出,k=1就是前面提到的凯撒密码。于是这种加密变换是凯撒野加密变换的
推广,并且其保密程度也比凯撒密码高。
以上介绍的密码体制都属于单表置换。意思是一个明文字母对应的密文字母是确定
的。根据这个特点,利用频率分析可以对这样的密码体制进行有效的攻击。方法是在大
量的书籍、报刊和文章中,统计各个字母出现的频率。例如,e出现的次数最多,其次
是t,a,o,I等等。破译者通过对密文中各字母出现频率的分析,结合自然语言的字母频
率特征,就可以将该密码体制破译。
鉴于单表置换密码体制具有这样的攻击弱点,人们自然就会想办法对其进行改进,
来弥补这个弱点,增加抗攻击能力。法国密码学家维吉尼亚于1586年提出一个种多表式
密码,即一个明文字母可以表示成多个密文字母。其原理是这样的:给出密钥
K=k[1]k[2]…k[n],若明文为M=m[1]m[2]…m[n],则对应的密文为C=c[1]c[2]…c[n]。
其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M为data security,密钥k=best,将明
文分解为长为4的序列data security,对每4个字母,用k=best加密后得密文为
C=EELT TIUN SMLR
从中可以看出,当K为一个字母时,就是凯撒密码。而且容易看出,K越长,保密程
度就越高。显然这样的密码体制比单表置换密码体制具有更强的抗攻击能力,而且其加
密、解密均可用所谓的维吉尼亚方阵来进行,从而在操作上简单易行。该密码可用所谓
的维吉尼亚方阵来进行,从而在操作上简单易行。该密码曾被认为是三百年内破译不了
的密码,因而这种密码在今天仍被使用着。
古典密码的发展已有悠久的历史了。尽管这些密码大都比较简单,但它在今天仍有
其参考价值。世界上最早的一种密码产生于公元前两世纪。是由一位希腊人提出的,人们称之为
棋盘密码,原因为该密码将26个字母放在5×5的方格里,i,j放在一个格子里,具体情
况如下表所示
1 2 3 4 5
1 a b c 搜索d e
2 f g h i,j k
3 l m n o p
4 q r s t u
5 v w x y z
这样,每个字母就对应了由两个数构成的字符αβ,α是该字母所在行的标号,β是列
标号。如c对应13,s对应43等。如果接收到密文为
43 15 13 45 42 15 32 15 43 43 11 22 15
则对应的明文即为secure message。
另一种具有代表性的密码是凯撒密码。它是将英文字母向前推移k位。如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 z
F 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。此时,k就是密钥。为了
传送方便,可以将26个字母一一对应于从0到25的26个整数。如a对1,b对2,……,y对
25,z对0。这样凯撒加密变换实际就是一个同余式
c≡m+k mod 26
其中m是明文字母对应的数,c是与明文对应的密文的数。
随后,为了提高凯撒密码的安全性,人们对凯撒密码进行了改进。选取k,b作为两
个参数,其中要求k与26互素,明文与密文的对应规则为
c≡km+b mod 26
可以看出,k=1就是前面提到的凯撒密码。于是这种加密变换是凯撒野加密变换的
推广,并且其保密程度也比凯撒密码高。
以上介绍的密码体制都属于单表置换。意思是一个明文字母对应的密文字母是确定
的。根据这个特点,利用频率分析可以对这样的密码体制进行有效的攻击。方法是在大
量的书籍、报刊和文章中,统计各个字母出现的频率。例如,e出现的次数最多,其次
是t,a,o,I等等。破译者通过对密文中各字母出现频率的分析,结合自然语言的字母频
率特征,就可以将该密码体制破译。
鉴于单表置换密码体制具有这样的攻击弱点,人们自然就会想办法对其进行改进,
来弥补这个弱点,增加抗攻击能力。法国密码学家维吉尼亚于1586年提出一个种多表式
密码,即一个明文字母可以表示成多个密文字母。其原理是这样的:给出密钥
K=k[1]k[2]…k[n],若明文为M=m[1]m[2]…m[n],则对应的密文为C=c[1]c[2]…c[n]。
其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M为data security,密钥k=best,将明
文分解为长为4的序列data security,对每4个字母,用k=best加密后得密文为
C=EELT TIUN SMLR
从中可以看出,当K为一个字母时,就是凯撒密码。而且容易看出,K越长,保密程
度就越高。显然这样的密码体制比单表置换密码体制具有更强的抗攻击能力,而且其加
密、解密均可用所谓的维吉尼亚方阵来进行,从而在操作上简单易行。该密码可用所谓
的维吉尼亚方阵来进行,从而在操作上简单易行。该密码曾被认为是三百年内破译不了
的密码,因而这种密码在今天仍被使用着。
古典密码的发展已有悠久的历史了。尽管这些密码大都比较简单,但它在今天仍有
其参考价值。
‘伍’ 计算机密码学定义
一个密码系统是整个安全系统的一部分,由五部分组成(M,C,K,E,D):
1、明文空间M:全体明文的集合,明文(Plaintext):伪装前的原始数据。
2、密文空间C:全体密文的集合,密文(Ciphertext):伪装后的数据。
3、密钥空间K:全体密钥的集合,K = < Ke,Kd >,密钥(Key):加密和解密分别在加密密钥和解密密钥的控制下进行。
4、加密算法集合E,加密变换,ek:M→C,加密(Encryption):伪装的过程。
5、解密算法集合D,解密变换,dk:C→M,解密(Decryption):去掉密文的伪装恢复出明文的过程。
加密算法需满足两条准则之一,满足两个准则的加密算法称为计算上安全。
1、破译密文的代价超过被加密信息的价值。
2、破译密文所花的时间超过信息的有用期。
信息安全的四个要求、目标:
1、机密性:确保信息在发信方和收信方之间传递,而不会被不可信的第三方知道。
2、完整性:保证所接收的消息未经复制、插入、篡改、重排或重放,即保证接收的消息和所发出的消息完全一样,对已毁坏的数据进行恢复。
3、认证性:确保接收者能够确认消息发送者的身份没有经过篡改。
4、不可否认性:用于防止通信双方中的某一方对所传输消 息的否认,消息发出后,接收者能够证明这一消息的确是由通信的另一方发出,消息被接收后,发出者能够证明这一消息的确已被通信的另一方接收。
5、可用性:是指授权主体在需要信息时能及时得到服务的能力。
数学基础
素数与合数定义:整数p是一个素数, 如果它只能被±p,±1整除。素数的个数是无限的,全体素数的集合记为P。如果整数n不是素数,则它是一个合数。
模n同余定义:若a mod n= b mod n,则称整数a和b模n同余。
求最大公因子GCD的Euclidean算法(辗转相除法):
Step 1: r0 =a and r1 =b;
Step 2: r0 =q1r1+r2; r1 =q2r2+r3; …… ;rn-2 = qn-1rn-1+rn; until rn=0 and rn-1 ≠ 0;
Step 3: rn-1 = gcd(a,b)。
中国剩余定理(Chinese Remainder Theorem, CRT):
设 n1, n2, …, nk 为两两互素的正整数,gcd(ni,nj)=1(ij),a1,a2,…,ak为整数,则同余方程组::
x = a1 mod n1
x = a2 mod n2
……
x = ak mod nk
有模n=n1n2…nk的惟一解x。
特性:在模n(=n1n2…nk)下可将非常大的数x由一组小数(a1,a2,…,ak)表达 x →(a1,a2,…,ak)。
中国古代命题:“韩信点兵”、“孙子定理”、求一术(沈括)“鬼谷算”(周密)、“隔墻算”(周密)、“剪管术”(杨辉)、“秦王暗点兵”、“物不知数”。中国剩余定理:孙子剩余定理、物不知数、数论的重要命题。
费马小定理:设p是素数,由于对任意的a(0<a<p),有gcd(a,p)=1,则 a p-1 = 1 mod p。
‘陆’ 密码的种类
密码种类:
1、字母法
2、代数法
3、文字法
4、键盘法
5、密码通信卡
6、埃特巴什码
7、镜像字迹
8、运算式密码一式
9、运算式密码二式
10、运算式密码三式
11、运算式密码四式
12、运算式密码五式
13、四角密码
14、字母替换
15、历换法
16、换音词
17、凯撒方阵
18、换位密码
19、斯巴达圆棒
20、数字解经法
21、曾码汉字
‘柒’ 不属于经典密码体制的是
不属于经典密码体制的是分组密码。
经典密码体制,又称古典密码体制,包括以下内容:
简单代替密码(simple substitution cipher),又称单表密码(monoalphabetic cipher):
明文的相同字符用相应的一个密文字符代替
多表密码(ployalphabetic cipher):
明文中的相同字符映射到密文空间的字符不唯一,有多个。
单表代替是密码学中最基础的一种加密方式。
在加密时用一张自制字母表上的字母来代
替明文上的字母(比如说A——Z,B——D)来达到加密。移位密码也属于单表代替,只不
过比较有规律,相当于集体向前或向后。这种加密方法最容易被破解。破解方法为统计法。
在英语中,最常用的字母为E,所以在密文中代替E 的字母出现的频率也最高,由此便可破解。
一般单表替代密码算法特点:
▲密钥空间
K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,
1微秒试一个密钥,遍历全部密钥需要1013年。
▲移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。
密钥π不便记忆。
▲针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密码。
多表代替密码:由多个简单的代替密码构成,例如,可能有5个被使用的不同的简单代
替密码,单独的一个字符用来改变明文的每个字符的位置。
多表替代密码的特点是使用了两个或两个以上的替代表。着名的维吉尼亚密码和Hill密码等均是多表替代密码。
‘捌’ 古典密码两种加密方式
古典加密算法:置换密码
置换密码算法的原理是不改变明文字符,只将字符在明文中的排列顺序改变,从而实现明文信息的加密。置换密码有时又称为换位密码。
矩阵换位法是实现置换密码的一种常用方法。它将明文中的字母按照给的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中字母,从而形成密文。例如,明文为attack
begins
at
five,密钥为cipher,将明文按照每行6列的形式排在矩阵中,形成如下形式:
a
t
t
a
c
k
b
e
g
i
n
s
a
t
f
i
v
e
根据密钥cipher中各字母在字母表中出现的先后顺序,给定一个置换:
1
2
3
4
5
6
f
=
1
4
5
3
2
6
根据上面的置换,将原有矩阵中的字母按照第1列,第4列,第5列,第3列,第2列,第6列的顺序排列,则有下面形式:
a
a
c
t
t
k
b
i
n
g
e
s
a
i
v
f
t
e
从而得到密文:aacttkbingesaivfte
‘玖’ 古典密码安全算法有哪些
世界上最早的一种密码产生于公元前两世纪。是由一位希腊人提出的,人们称之为
棋盘密码,原因为该密码将26个字母放在5×5的方格里,i,j放在一个格子里,具体情
况如下表所示
1 2 3 4 5
1 a b c d e
2 f g h i,j k
3 l m n o p
4 q r s t u
5 v w x y z
这样,每个字母就对应了由两个数构成的字符αβ,α是该字母所在行的标号,β是列
标号。如c对应13,s对应43等。如果接收到密文为
43 15 13 45 42 15 32 15 43 43 11 22 15
则对应的明文即为secure message。
另一种具有代表性的密码是凯撒密码。它是将英文字母向前推移k位。如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 z
F 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。此时,k就是密钥。为了
传送方便,可以将26个字母一一对应于从0到25的26个整数。如a对1,b对2,……,y对
25,z对0。这样凯撒加密变换实际就是一个同余式
c≡m+k mod 26
其中m是明文字母对应的数,c是与明文对应的密文的数。
随后,为了提高凯撒密码的安全性,人们对凯撒密码进行了改进。选取k,b作为两
个参数,其中要求k与26互素,明文与密文的对应规则为
c≡km+b mod 26
可以看出,k=1就是前面提到的凯撒密码。于是这种加密变换是凯撒野加密变换的
推广,并且其保密程度也比凯撒密码高。
以上介绍的密码体制都属于单表置换。意思是一个明文字母对应的密文字母是确定
的。根据这个特点,利用频率分析可以对这样的密码体制进行有效的攻击。方法是在大
量的书籍、报刊和文章中,统计各个字母出现的频率。例如,e出现的次数最多,其次
是t,a,o,I等等。破译者通过对密文中各字母出现频率的分析,结合自然语言的字母频
率特征,就可以将该密码体制破译。
鉴于单表置换密码体制具有这样的攻击弱点,人们自然就会想办法对其进行改进,
来弥补这个弱点,增加抗攻击能力。法国密码学家维吉尼亚于1586年提出一个种多表式
密码,即一个明文字母可以表示成多个密文字母。其原理是这样的:给出密钥
K=k[1]k[2]…k[n],若明文为M=m[1]m[2]…m[n],则对应的密文为C=c[1]c[2]…c[n]。
其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M为data security,密钥k=best,将明
文分解为长为4的序列data security,对每4个字母,用k=best加密后得密文为
C=EELT TIUN SMLR
从中可以看出,当K为一个字母时,就是凯撒密码。而且容易看出,K越长,保密程
度就越高。显然这样的密码体制比单表置换密码体制具有更强的抗攻击能力,而且其加
密、解密均可用所谓的维吉尼亚方阵来进行,从而在操作上简单易行。该密码可用所谓
的维吉尼亚方阵来进行,从而在操作上简单易行。该密码曾被认为是三百年内破译不了
的密码,因而这种密码在今天仍被使用着。
古典密码的发展已有悠久的历史了。尽管这些密码大都比较简单,但它在今天仍有
其参考价值。