古典密码体制资料
- 格式:pptx
- 大小:929.54 KB
- 文档页数:8
实验2 古典密码1.实验目的(1)了解古典密码中的基本加密运算。
(2)了解几种典型的古典密码体制。
(3)掌握古典密码的统计分析方法。
2.实验内容(1)古典密码体制①简单移位加密(单表代换)该加密方法中,加密时将明文中的每个字母向前推移K位。
经典恺撒密码加密变换就是这种变换,取k=3。
步骤1:打开CAP4软件,并加载实验一附带的“mw.txt”,如图2-1所示。
图2-1加载文件步骤2:采用恺撒加密方法手工加密“mw.txt”;打开CAP4菜单栏“Cipher”菜单项选择“simple shift”选项,并选择移位值“shift value”为3,加密步骤1中加载的文件,如图2-2所示。
图2-2 参数设置图2-3加密文件步骤3:比较二者的加密结果是否相同。
步骤4:点击CAP4软件中的“Simple analysis”下的“shift”键,观察恺撒加密法的可能密钥值,并分析其攻击的难度,如图2-4所示。
图2-4密钥分析②仿射密码加密(单表代换)在仿射密码加密(affine cipher)中,字母表中的字母被赋予一个数字,例如,a=0,b=1,c=2,…,z=25.仿射密码加密法的密钥为0~25之间的数字对(a,b)。
a与26的最大公约数必须为1,这就是说能整除a和26的数只有1.现在假设m为明文字母的数字,而c为密文字母的数字,那么,这两个数字之间有如下关系: c=(am+b)(mod 26)m=a-1(c-b)(mod 26)其中,(mod 26)的操作是:除以26,得其余数。
例如,选取密钥为(7,3)。
因为7与26互素,也就是只有公约数1,所以(7,3)可以作为仿射密码的加密钥。
将“hot”转换成数字7、14、19,利用仿射等式生成: c(H)=(7×7+3) mod 26=52 mod 26=0,即为字母“a“。
c(O)=(7×14+3) mod 26=101 mod 26=23,即为字母“x“.c(T)=(7×19+3) mod 26=136 mod 26=6,即为字母”g”. 这样,对于这个密钥,”hot”变成了“axg“.CAP4软件中实现仿射密码加密:步骤1:在CAP4软件中加载要加密地的明文“mw.txt“.步骤2:选取Cipher菜单下的Affine Cipher菜单项,弹出如下对话框,如图2-5所示。
密码技术专题(二)—古典密码体制∙1、密码体制的概念o明文信源o密文o密钥与加密运算o密码体制∙2、古典密码体制的发展o古典加密方法o代替密码o换位密码o转轮密码∙3、几种典型的古典密码体制o CAESAR体制o双字的Playfair体制o维吉尼亚体制o Hill体制我们已经知道,一个密码体制由明文信源、密文、密钥与加密运算这四个基本要素构成,下面我们将进一步给出它们的数学模型。
1、明文信源直观地讲,明文信源就是明文字母表或者明文字母。
比如所有的英文字母、全部的中文字符就是典型的明文字母表。
准确一点,明文信源还应当包含明文字母的概率分布。
如果用X表示明文字母表,则它的元素x∈X则就是明文字母。
在明文字母表中,不同的明文字母出现的频率往往是不同的,比如在26个英文字母中,一般来说字母“e”的频率最高;而在汉字中,可能是“的”字频率最高。
所以,一个明文信源记为S=[X,p(x)],其中X为明文字母表,p(x)为明文字母x∈X 出现的概率,而且p(x)满足如下条件:对任何x∈X,p(x)≥0,且∑p(x)=1。
2、密文密文由密文字母表Y和密文字母y∈Y组成,密文字母表一般是指密文可能使用的全部字母的集合,而y∈Y是它的元素。
密文字母表可以与明文字母表相同,也可以不同。
3、密钥与加密运算密钥用来从密码体制的一组加密运算中选择一个加密运算(或者称为加密步),密钥允许你按照以前制定的规则改变加密,比如每天,或每份报之后,或者每个字符之后。
通常,密钥的组织和编排须利于它们允许通过简单的规则产生单独的加密步。
加密方法的组合复杂度取决于在此方法下密钥的数量。
如果用K表示密钥空间,也就是选择加密步的参数集合,k∈K则称为一个密钥。
加密步就是明文字母表X到密文字母表Y的一个映射:E:X→Y,对每个x∈X。
由于加密步并不是单一的,而是一族运算,因此我们就可以记为Ek=Ek(x),其中x∈X,k∈K。
除特殊的编码方法外,如多名码或多音码,对于每个k∈K,Ek(x)都是X到Y的1-1映射。
古典密码-单表密码体制如果明⽂中不同的位置的同⼀明⽂字母在密⽂中对应的密⽂字母相同,则称其为单表密码体制。
代表性的单表密码:1.移位或加法密码2.乘数或乘法密码3.仿射密码4.密钥短语密码下⾯分别举⼀个例⼦:1.加法密码算法:P=C=K=Z m (Zm∈{0,1,...,m-1})E k(x)=x+k(mod m)=y∈CD k(y)=y-k(mod m)=x∈P当k=3时,该密码算法就是凯撒密码。
E3(1)=1+3(mod 26)=4 1代表A,4代表D,所以就把明⽂A加密成DD3(4)=4-3(mod 26)=1 所以把密⽂D,解密成明⽂A这种算法容易受到唯密⽂攻击,由算法可知,密钥的可能性个数为m,如果是英语字母表,只有26个字母,那么只要尝试25种(不包括0,因为m=0就等于是明⽂了)密钥,就能破解该算法。
2.乘法密码算法P=C=Z mK={a ∈Z m | (a, m)=1}E a(x)=a x (mod m) =y ∈CD a (y)=a-1y (mod m) =x ∈P(a-1是a对于m的乘法逆元)当m=26,P=C=Z26,K={a ∈Z26 | (a, 26)=1},E a(x)=a x (mod 26) =y ∈CD a (y)=a-1y (mod 26) =x ∈P(a-1是a对于26的乘法逆元)当a=9时,逆元a-1=3E9(x)=9x (mod 26)=y ∈CD9(y)=3y (mod 26)=x ∈P加密过程:字符B,对应的X=1 y=E9(x)=9*1 (mod 26)=9 替换为字符J解密过程:字符J,对应y=9 x=D9(x)=9*3 (mod 26)=1 还原为字符B对于乘数密码,当且仅当a与26互素时,加密变换才是⼀对⼀映射的。
因此a的选择只有11种:3,5,7,9,11,15,17,19,21,23,25,可能的密钥只有11种!3.仿射密码算法:P=C=Z mK={(a,b)∈Z m×Z m|(a,m)=1}E(a,b) (x)=ax + b (mod m)D(a,b) (y)=a-1(y-b)(mod m)当a=1时,变为加法密码当b=0时,变为乘法密码所以,加法密码和乘法密码是仿射密码的特例。
西方古典密码方式是一种古老的加密技术,起源于古希腊和罗马时期。
这种密码方式主要通过替换、移位和排列等方法对原始信息进行变换,以达到保密的目的。
以下是一些常见的西方古典密码方式:1.凯撒密码(Caesar Cipher):这是最早的一种古典密码方式,由古罗马将领凯撒发明。
凯撒密码的原理是将明文中的每个字母按照一个固定的偏移量进行移位。
例如,如果偏移量为3,那么字母A将被替换为D,B将被替换为E,以此类推。
凯撒密码的优点是实现简单,但缺点是容易被破解,因为偏移量通常是26的倍数。
2.维吉尼亚密码(Vigenere Cipher):这是一种基于凯撒密码的变种,由法国密码学家布莱斯·德·维吉尼亚发明。
维吉尼亚密码的原理是将明文和密钥都分成一系列字母,然后按照密钥字母的顺序将明文字母进行替换。
维吉尼亚密码的优点是安全性较高,但缺点是需要密钥长度与明文长度相同。
3.栅栏密码(Rail Fence Cipher):这是一种通过置换和重组的方法对明文进行加密的古典密码方式。
栅栏密码的原理是将明文按照一定的宽度分为若干行,然后将这些行按照特定的顺序进行排列,最后将排列后的字符连接起来形成密文。
栅栏密码的优点是实现简单,但缺点是解密过程较为复杂。
4.希尔密码(Hill Cipher):这是一种基于线性代数的古典密码方式,由美国数学家Lester S. Hill发明。
希尔密码的原理是将明文和密钥都表示为矩阵,然后通过矩阵乘法对明文进行加密。
希尔密码的优点是安全性较高,但缺点是计算复杂度较高。
5.仿射密码(Affine Cipher):这是一种基于线性代数的古典密码方式,由法国密码学家阿德里安·卡西斯基发明。
仿射密码的原理是将明文和密钥都表示为向量,然后通过向量加法和标量乘法对明文进行加密。
仿射密码的优点是安全性较高,但缺点是密钥空间较小。
总之,西方古典密码方式在古代起到了重要的保密作用,为后世的密码学发展奠定了基础。