- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一 古典密码—单表代换
【 实验目的】
理解代换密码的基本思想
理解移位密码、仿射密码等算法的原理
掌握上述各个算法的输入输出格式和密钥格式
掌握上述各个算法的加解密过程和实现方法
【 实验原理】
代换密码体制的一般定义为 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 的整数。
三、仿射密码
仿射密码的加密是一个线性变换,将移位密码和乘法密码相结合,其加解密可分别表示为:
C=Ea,b(m)=am+b(mod 26)
M=Da,b(C)=a-1(c-b)(mod 26)
其中:a、b 是密钥,是满足 0≤a,b≤25 和 gcd(a,26)=1 的整数,即 a 和 26 互素;a-1 的逆元,即 a ?a-1≡1 mod 2【 实验环境】
ISES 客户端
Microsoft CLR Debugger 2005 或其它调试器
【 实验内容】
通过运算器工具实现移位密码、乘法密码、仿射密码
对各个算法的加解密进行扩展实验和算法跟踪
【 实验步骤】
此处以移位密码为例说明,乘法密码、仿射密码可参照完成。
一、 加 解密计算
(一) 加密
(1) 参照实验原理,在明文栏输入所要加密的明文,在密钥栏输入相应的密钥,如下图1.1-2所
示。
图 1.1-2
(2) 点击“加密”按钮,在密文文本框内就会出现加密后的密文,如图 1.1-3 所示。
图 1.1-3
(二) 解密
(1) 在密文栏相应的文本框内输入所要解密的密文,在密钥栏输入相应的密钥,如图 1.1-4
所示。
图 1.1-4
(2) 点击“解密”按钮,在明文文本框内就会出现解密后的明文,如图 1.1-5 所示。
图 1.1-5
二、扩展实验
(1) 点击扩展实验下的按钮,进入相应算法的扩展实验面板,此处为移位密码扩展实验的
面板,如图 1.1-6 所示。
图 1.1-6
(2) 在“密钥 k”栏中输入一个介于 0~25 之间的整数,如 19,点击“确定”按钮后,系
统显示出“明文-密文映射表”,如图 1.1-7 所示。
图 1.1-7
(3) 在明文文本框中输入明文(如“Classical Cryptology.”),并点击“加密”按钮,在密
文文本框内就会出现加密后的密文(如“VETLLBVTEVKRIMHEHZR”。注,系统会
自动删除非英文字母,并自动将明文变换为小写字母),如图 1.1-8 所示。
图 1.1-8
(4) 解密过程是加密过程的逆过程,在密文文本框中输入密文(确保密钥已经正确输入),
点击“解密”按钮,即可得到相应的明文。
三、 算法跟踪
(一) 算密跟踪
(1) 选择要跟踪的算法即移位密码,在相应的算法计算区域填写明文和密钥。
(2) 点击“跟踪加密”按钮,此时会弹出选择跟踪调试器对话框,如图 1.1-9 所示,对话
框中所列出的可选调试器根据系统中所安装的调试器而不同。
图 1.1-9
(3) 选择“新实例 Microsoft CLR Debugger 2005”或其它调试器并点击“是”,打开调试
器如图 1.1-10 所示。
图 1.1-10
(4) 如果出现选择编码的对话框时选择“(自动检测)”, 进入代码跟踪界面,如图 1.1-11
所示。
图 1.1-11
(5) 选择对应 c#源代码的 xxx.cs 标签页并按下快捷键 F10 开始跟踪,如图 1.1-12 所示。
图 1.1-12
(6) 当算法跟踪完毕后,会自动切换回实验窗口并显示计算结果。
(7) 查看实验面板中的计算结果,然后切换回调试器,选择工具栏中的“停止调试”按钮
或按下 SHIFT + F
文档评论(0)