实验一 古典密码—单表代换教材.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

xiaofei2001128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档