【知识点】古典密码1.实验目的(一)——实验2

实验2经典密码1.实验目的(1)了解经典密码中的基本加密操作。(2)了解几种典型的经典密码系统。(3)掌握经典密码的统计分析方法。2.实验内容(1)经典密码系统①简单移位加密(单表替换) 在这种加密方法中,明文中的每个字母都被发送到前移了K位,经典的凯撒密码加密变换就是这个变换古典密码包括两大类,取k=3。 第一步:打开CAP4软件,加载实验一附带的“mw.txt”,如图2-1所示。图2 -1 加载文件第二步:使用凯撒加密方式手动加密“mw.txt”;打开CAP4菜单栏中的“Cipher”菜单项,选择“simple shift”选项,选择shift value” shift value”为3,加密步骤 1中加载的文件如图2-2所示。 图2-2 参数设置 图2-3加密文件 第三步:比较两者的加密结果是否相同。第四步:点击CAP4软件中的“简单分析”按“shift”键观察凯撒加密方式可能的密钥值,分析其攻击难度,如图2-4所示。图 2-4 密钥分析 ② 仿射密码加密(单表替换) 在仿射密码中,给字母表中的字母分配一个数字,例如 a=0,b=1,c=2,…,z=2< @5.仿射密码该方法的密钥是一对介于 0 和 25 之间的数字 (a,b)。

a和26的最大公约数一定是1古典密码包括两大类,也就是说只有a和26可以整除的数是1. 现在假设m是明文字母的个数,c是密文的个数字母,那么,这两个数的关系如下: c=(am+b)(mod 26)m=a-1(c-b)(mod 26) where, (mod 2 6)@ >” 转化为一个数字 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”。这样,对于这个key,“hot”就变成了“axg”。在CAP4软件中实现仿射密码加密: Step 1:在CAP4软件中加载要加密的明文“mw.txt” Step 2:选择Cipher菜单下的Affine Cipher菜单项,弹出如下对话框,如图2-5所示。图 2-5 设置加密密钥 步骤 3:选择“加密”选项用图中的“Affine Cipher”进行加密,如图2-6所示。图 2-6 使用仿射密码加密 ③Vigenere cipher 加密(多表替换) Vigenere 加密方法是一种众所周知的多表替换加密方法。

这种加密方式是一种基于关键字的多表替换加密系统,但与单表替换中的关键字加密不同,关键字是用来定义替换方式的。它首先根据关键字Group的长度对明文进行转换,然后将group中的每个字符与关键字中对应位置的字符进行模26加密运算,从而使每个明文字母与一个字母相关联关键字。例如:如果关键字为“hold”,明文为“this is the plaintext”,则关键字-明文关联如下: 注:对于上述密文结果,也可以直接查维吉尼表得到密文。例如:上例中的第一对是“ht”。在Vigenere表中查找“t”列和“h”行,找到得到的密文字母“a”,重复上述过程。在 CAP4 软件中实现弗吉尼亚加密: 第一步:在 CAP4 软件中加载要加密的明文“mw.txt”。 Step 2:选择Cipher菜单下的Vigenere菜单项,弹出如下对话框,如图2-7所示。图 2-7 设置加密关键字 步骤 3:选择“Encipher”菜单项进行加密。 (2)经典密码学的统计分析因为经典密码学中的加密大部分是基于英文字母的,所以对应的明文和密文都会遵循相应的语言统计规律。根据明文和密文中的统计数据是基本的经典密码学根据密文的特征来破译密文的方法。字母最容易观察到的特征是它们的出现频率,所以很多经典密码的统计分析也以字母出现的频率为主要线索。

但是,大多数频率分析是基于标准英文字母的常用频率表,其中每个英文字母出现的频率如下:从高到低顺序:ETAONIRSHDLUCMPFYWGBVJKQXZ 通常是由于加密明文的性质不同,那么字母的频率也会有差异。因此,在使用字母频率进行破译时,不可能按照上述顺序进行相关性比较,得到单表替换模式,而是要考虑分组频率。标准英文字母出现在四个频率组中: 高 E T A O N I R S H D L U C M 低 P F Y W G B V 缺少 J K Q X Z 字母在组中的位置可能会有所不同,但它们很少出现在其他组中。统计出密文中字母出现的频率后,可以简单地按照出现频率进行分组,然后根据上述频率组进行一一分析,以确定单表替换方式。仅仅依靠上述规则通常是不够的,经常使用双联或三联的频率来辅助破译。例如TH、HE、IN、RE、DE、ST、EN、AT、OR、IS、ET、IT、AR、TE、HI、OF、THE、ING、ERE、FOR等比较常见。 CAP4软件用于实现经典密码的统计分析。 ①仿射密码统计分析的前提是我们已经知道密文是仿射加密加密的。

第一步:打开CAP4软件,加载获取的密文“fsbhmi.txt”,在“基础工具”工具栏中点击“频率”按钮,统计密文中每个字母出现的概率,如图图 2-8。图2-8 统计密文字母频率 据统计,密文中出现频率最高的字母为X、H、N、T、C、K、J,因此可以假设密文字符X对应明文字符E、密文字符H对应的铭文字符为T。 第二步:打开CAP4“简单分析”工具栏中的“仿射”按钮,输入上述字母对,如图2-9所示。图2-9 验证猜一注:这里的k0,k1表示仿射加密函数是y=k1x+k0 mod 26,所以k1的值只能属于下面的整数集合{1,3,5,7, 9、11、15、17、19、21、23、25}。显然,上面的猜测是错误的,因此可以进一步假设密文字母X对应的明文字符为E,密文字符N对应的明文字符为T。经过测试,我们可以知道猜测为无效。那么测试可以发现密文字符X对应明文E,密文字符T对应T的假设不成立。假设密文C对应明文T。 步骤3:进一步验证上述猜测,结果如下,如图2-10所示。图 2-10 验证猜测 b 测试发现假设为真,即本密文中使用的仿射变换函数可能为 y=9x+13 mod 26. 第四步:利用上述假设,在选择CAP4软件的“Cipher”菜单项下的“Affine”对密文进行解密,如图2-11所示。图 2-11 解密密文 使用上述猜测结果解密密文得到的明文是有意义的,因此可以确定本次加密操作中使用的加密变换函数为:y=9x+13 mod 26.@ >3.知识点(1)取模运算(带余数除法)如果a和b是两个整数并且b≠0,那么只有两个整数q和r,所以下面的公式成立: a=bq+r, 0≤r

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论