实验一 古典密码—单表代换
【实验目的】
理解代换密码的基本思想
理解移位密码、仿射密码等算法的原理 掌握上述各个算法的输入输出格式和密钥格式 掌握上述各个算法的加解密过程和实现方法
【实验原理】
代换密码体制的一般定义为M=C=K=Z26,其中M为明文空间、C为密文空间、K为密钥
空间、Z26为 26个整数(对应 26个英文字母)组成的空间;要求 26个字母与模 26 的剩余类集
合{0,1,2,?,25}建立一一对应的关系。
一、移位密码
移位密码的加密实现上就是将26个英文字母向后循环移动k位,其加解密可分别表示为:
c=Ek(m)=m+k(mod 26) m=Dk(c)=c-k(mod 26)
其中,m、c、k是满足0≤m,c,k≤25的整数。
二、乘法密码
乘法密码是通过对字母等间隔抽取以获得密文,其加解密可分别表示如下:
c=mk(mod 26) m=ck (mod26)
其中,m、c、k是满足0≤m,c,k≤25,且gcd(k,26)=1的整数。
-1
三、仿射密码
仿射密码的加密是一个线性变换,将移位密码和乘法密码相结合,其加解密可分别表示为:
C=Ea,b(m)=am+b(mod 26)
M=Da,b(C)=a(c-b)(mod 26)
其中:a-1、b 是密钥,是满足 0≤a,b≤25和gcd(a,26)=1的整数,即 a和 26互素;a-1的逆元,即a ?a≡1 mod 2
-1
【实验环境】
ISES 客户端
Microsoft CLR Debugger 2005或其它调试器
1
【实验内容】
通过运算器工具实现移位密码、乘法密码、仿射密码 对各个算法的加解密进行扩展实验和算法跟踪
【实验步骤】
此处以移位密码为例说明,乘法密码、仿射密码可参照完成。 一、 加解密计算
(一) 加密
(1) 参照实验原理,在明文栏输入所要加密的明文,在密钥栏输入相应的密钥,如下图1.1-2所
示。
图 1.1-2
(2) 点击“加密”按钮,在密文文本框内就会出现加密后的密文,如图1.1-3所示。
图1.1-3
(二) 解密
(1) 在密文栏相应的文本框内输入所要解密的密文,在密钥栏输入相应的密钥,如图1.1-4
所示。
图 1.1-4
2
(2) 点击“解密”按钮,在明文文本框内就会出现解密后的明文,如图1.1-5所示。
图 1.1-5
二、扩展实验
(1) 点击扩展实验下的按钮,进入相应算法的扩展实验面板,此处为移位密码扩展实验的
面板,如图1.1-6所示。
图 1.1-6
(2) 在“密钥 k”栏中输入一个介于 0~25 之间的整数,如 19,点击“确定”按钮后,系
统显示出“明文-密文映射表”,如图1.1-7所示。
3
图1.1-7
(3) 在明文文本框中输入明文(如“Classical Cryptology.”),并点击“加密”按钮,在密
文文本框内就会出现加密后的密文(如“VETLLBVTEVKRIMHEHZR”。注,系统会 自动删除非英文字母,并自动将明文变换为小写字母),如图 1.1-8所示。
图1.1-8
(4) 解密过程是加密过程的逆过程,在密文文本框中输入密文(确保密钥已经正确输入),
点击“解密”按钮,即可得到相应的明文。
三、 算法跟踪 (一) 算密跟踪
(1) 选择要跟踪的算法即移位密码,在相应的算法计算区域填写明文和密钥。
(2) 点击“跟踪加密”按钮,此时会弹出选择跟踪调试器对话框,如图 1.1-9 所示,对话
框中所列出的可选调试器根据系统中所安装的调试器而不同。
4
相关推荐: