实验二 古典密码 - 图文

发布时间 : 星期一 文章实验二 古典密码 - 图文更新完毕开始阅读

实验2古典密码

通过测试发现,此次假设成立,即该段密文采用的仿射变换函数可能为y=9x+13 mod 26.

步骤4:采用上述假设结果,在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<|b|. ① 模的定义

如果a 是一个整数,n是一个正整数,定义 a mod n为a除以n的余数

a=n·?a/n?+(a mod n). 例1:113 mod 24=17

9

实验2古典密码

② 模算术运算

由定义可知,运算(mod n)将所有的整数映射到集合{0,1,?,n-1},那么在这个集合上进行的算术运算称为模算术。 模算术有如下的性质:

[(a mod n) + (b mod n)] mod n=(a+b) mod n;

[(a mod n) – (b mod n)] mod n=(a-b) mod n; [(a mod n) ×(b mod n)]mod n=(a×b) mod n. 因此,普通算术的加、减、乘、除运算规则可以平移到模算术中。 ③ Zn上模运算的性质:

定义比n小的非负整数集合为Zn, Zn={0,1, ?,n-1},这个集合称为剩余类集,或模n的剩余类。更确切的说,Zn中的每个整数代表一个剩余类,我们可以将模n的剩余类表示为[0],[1],[2] ?,[n-1]。 例2:模4剩余类为:

[0]={ ?,-16,-12,-8,-4,0,4,8,12,16?} [1]={ ?,-15,-11,-7,-3,1,5,9,13,17?} [2]={ ?,-14,-10,-6,-2,2,6,10,14,18?} [3]={ ?,-13,-9,-5,-1,3,7,11,15,19, ?}

在剩余类的所有整数中,我们通常用最小非负整数来代表这个剩余类。寻找与k模同余(指的是两个数对同一个数求模结果相同,例如:整数a和b对整数n求模结果相同,我们就说a和b模n同余,记为a≡b(mod n))的最小非负整数的过程,称为模n的k约化。

如果我们在Zn中进行模运算,该运算具有如下性质:

交换律:(w+x)mod n=(x+w) mod n (w×x)mod n=(x×w) mod n

结合律:[(w+x)+y] mod n=[w+(x+y)] mod n [(w×x) ×y] mod n=[w×(x×y)] mod n 分配率:[w×(x+y)] mod n=[(w×x)+(w×y)]mod n 单位元:(0+w)mod n=w mod n (1×w) mod n=w mod n

加法逆元(-w):对于Zn中的任意w,存在一个z,使得w+z= 0 mod n. 注意:一般来说,在Zn中,一个整数与n互素,那么在Zn中有它的一个乘法

10

实验2古典密码

逆元,使得该整数与其逆元相乘模n为1.这里的互素指的是两个数的最大公约数为1.

例3:在Z 8中,整数1,3,5,7有一个乘法逆元,而2,4和6没有。

特别提醒:我们密码学中用到的运算均为模运算,对于古典密码体制来说,用 到的运算均为Z26上的模运算。 (2)乘法逆元

在仿射加密法中,我们是通过仿射函数变换来实现加密的,其加密变换函数一般表示为:

ek(x)=ax+b mod 26, 那么该函数的逆函数(也就是相应的解密函数)为: dk( y)=1/a(y-b) mod 26

正如上面所述在密码学中,我们提及的运算一般是模运算,这里指的是Z26 上的运算。在模运算中,将1/a表示为:a-1,称作a的乘法逆元,由乘法逆元性质可知:aa-1 =1 mod 26. 由于在Z26中并不是所有的整数都有乘法逆元,事实上,只有{1,3,5,7,9,11,15,17,19,21,23,25}才有乘法逆元,也就是说只有当加密变换函数中的a取上面这些值时,其才是可逆的,才能实现解密。

另外,某个整数集上相关元素的乘法逆元的求解一般采用欧几里德扩展算法来实现(放在后续课程中讲解),这里直接给出Z26上相关整数的乘法逆元,以便参考:1-1 mod 26=1 , 3-1 mod 26=9, 5-1 mod 26=21, 7-1 mod 26=15, 11-1 mod 26=19, 17-1 mod 26=23, 25-1 mod 26=25

4.常见问题解答

(1)密码学研究的主要问题是什么?

解答:密码学的基本目的是在通信双方之间应用不安全的信道进行通信时,设法保证通信安全。密码学研究对通信双方要传输的信息进行何种保密变换以防止未被授权的第三方窃取信息。此外,密码技术还可以用来进行信息鉴别、数据完整性校验、数字签名等。密码学包括密码编码学和密码分析学两大方向。 (2)研究古典密码体制的意义何在?

11

实验2古典密码

解答:古典密码学是密码学的渊源,虽然古典密码学比较简单而且容易破译,但研究古典密码学的设计原理和分析方法对于理解、设计及分析现代密码学技术是十分有益的。

5.思考题

(1)实验过程中,大家接触到的古典加密体制有哪几种?各有什么特点? (2)移位加密法有多少种密钥?试分析该加密法的安全性?

(3)仿射加密方法比其他单表加密方法(比如:移位密码)更安全吗?为什吗? (4)设明文为“visit shanghai tomorrow”,密钥为“enjoy”,试用Vigenere算法对其加密。

(5)在Alice和Bob的保密通信中,传送的密文是“rjjy rj ts ymj xfggfym bj bnqq inxhzxx ymj uqfs”,如果他们使用的是移位密码算法,试解密其通信内容。 (6)已知下面一段密文是通过仿射加密法加密的,试用统计分析的方法来破译:

oliawgphycgixzgntorgktaawphylxiiawgnylylyxtggiylrimkyt cylgiolvtalxavzoizamigxzgnylylyxtggiyqoizvatxzg

ptaipgtoxuavhyxgtkglgtyxoaliylrxzgimkytcylgiyiggxioklavy zyppuhovgqzglxzgntorgcawgiyhalkolnmixholkgfcoxgwglxxzg ntorgktaawqohhxysgxzgntorgizylrylrhgyrzgtxztamkzxzg nylylyxtggiylrimkytcylgktabgiyctaiiyntorkgwysgrnuxzg czytycxgtzyppolgiialxzgktamlrylrxzglroiyppgytolxaxzg ntoryhczywngt

12

实验2古典密码

13

联系合同范文客服:xxxxx#qq.com(#替换为@)