古典密码实验报告 赵凯鹏.doc_第1页
古典密码实验报告 赵凯鹏.doc_第2页
古典密码实验报告 赵凯鹏.doc_第3页
古典密码实验报告 赵凯鹏.doc_第4页
古典密码实验报告 赵凯鹏.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

古典密码实验【实验原理】代换密码体制的一般定义为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是满足0m,c,k25的整数。二、 乘法密码乘法密码是通过对字母等间隔抽取以获得密文,其加解密可分别表示如下:c=mk(mod 26)m=ck-1(mod26)其中,m、c、k是满足0m,c,k25,且gcd(k,26)=1的整数。三、 仿射密码仿射密码的加密是一个线性变换,将移位密码和乘法密码相结合,其加解密可分别表示为:c=Ea,b(m)=am+b(mod 26)m=Da,b(m)=a-1(c-b)(mod 26)其中:a、b是密钥,是满足0a,b25和gcd(a,26)=1的整数,即a和26互素;a-1表示a的逆元,即a-1a1 mod 26。四、 Playfair密码Playfair是一个人工对称加密技术,由Charles Wheatstone在1854年发明,得名于其推广者Lord Playfair。Playfair密码是一种著名的双字母单表替代密码,实际上Playfair密码属于一种多字母替代密码,它将明文中的双字母作为一个单元对待,并将这些单元转换为密文字母组合。Playfair密码基于一个55的字母矩阵,该矩阵通过使用一个英文短语或单词串即密钥来构造,去掉密钥中重复的字母得到一个无重复字母的字符串,然后再将字母表中剩下的字母依次从左到右、从上往下填入矩阵中。例如,若密钥为“playfair is a digram cipher”,去除重复字母后,得到有效密钥“playfirsdgmche”,可得字母矩阵如图1.1.11所示。图1.1.11注意:字母I,J占同一个位置。设明文字母对为(P1,P2),Playfair密码的加密算法如下:(1) 若P1、P2在同一行,密文C1、C2分别是紧靠P1、P2右端的字母,其中第一列被看作是最后一列的右方(解密时反向);(2) 若P1、P2在同一列,密文C1、C2分别是紧靠P1、P2下方的字母,其中第一行被看作是最后一行的下方(解密时反向);(3) 若P1、P2不在同一行,也不在同一列,则C1、C2是由P1、P2确定的矩形其它两角的字母,且C1和P1在同一行,C2和P2在同一行(解密时处理方法相同);(4) 若P1P2,则两个字母间插入一个预先约定的字母,如q,并用前述方法处理;如balloon,则以ba lq lo on 来加密;(5) 若明文字母数为奇数,则在明文尾填充约定字母。五、 维吉尼亚密码Vigenenre密码是最著名的多表代换密码,是16世纪法国著名密码学家Blaise de Vigenenre发明的。Vigenenre密码使用一个词组作为密钥,密钥中每一个字母用来确定一个代换表,每一个密钥字母被用来加密一个明文字母,第一个密钥字母加密第一个明文字母,第二个密钥字母加密第二个明文字母,等所有密钥字母使用完后,密钥再次循环使用,于是加解密前需先将明密文按照密钥长度进行分组。密码算法可表示如下:设密钥K=(k1,k2,kd),明文M=(m1,m2,mn),密文C=(c1,c2,cn);加密变换为:ci=Eki(mi)=mi+ki(mod 26)解密变换为:mi=Dki(ci)=ci-ki(mod 26)通常通过查询维吉尼亚表进行加解密。【实验环境】ISES客户端Microsoft CLR Debugger 2005或其它调试器【实验步骤】此处以移位密码为例说明,乘法密码、仿射密码、Playfair密码和维吉尼亚密码可参照完成。一、 加解密计算(一) 加密(1) 参照实验原理,在明文栏输入所要加密的明文,在密钥栏输入相应的密钥,如下图所示。图1.1.12(2) 点击“加密”按钮,在密文文本框内就会出现加密后的密文,如图1.1.13所示。图1.1.13(二) 解密(1) 在密文栏相应的文本框内输入所要解密的密文,在密钥栏输入相应的密钥,如图1.1.14所示。图1.1.14(2) 点击“解密”按钮,在明文文本框内就会出现解密后的明文,如图1.1.15所示。图1.1.15二、 扩展实验(1) 点击扩展实验下的按钮,进入相应算法的扩展实验面板,此处为移位密码扩展实验的面板,如图1.1.16所示。图1.1.16(2) 在“密钥k”栏中输入一个介于025之间的整数,如19,点击“确定”按钮后,系统显示出“明文-密文映射表”,如图1.1.17所示。图1.1.17(3) 在明文文本框中输入明文(如“Classical Cryptology.”),并点击“加密”按钮,在密文文本框内就会出现加密后的密文(如“VETLLBVTEVKRIMHEHZR”。注,系统会自动删除非英文字母,并自动将明文变换为小写字母),如图1.1.18所示。图1.1.18(4) 解密过程是加密过程的逆过程,在密文文本框中输入密文(确保密钥已经正确输入),点击“解密”按钮,即可得到相应的明文。三、 算法跟踪(一) 加密跟踪(1) 选择要跟踪的算法即移位密码,在相应的算法计算区域填写明文和密钥。(2) 点击“跟踪加密”按钮,此时会弹出选择跟踪调试器对话框,如图1.1.19所示,对话框中所列出的可选调试器根据系统中所安装的调试器而不同。图1.1.19(3) 选择“新实例 Microsoft CLR Debugger 2005”或其它调试器并点击“是”,打开调试器如图1.1.110所示。图1.1.110(4) 如果出现选择编码的对话框时选择“(自动检测)”,进入代码跟踪界面,如图1.1.111所示。图1.1.111(5) 选择对应c#源代码的xxx.cs标签页并按下快捷键F10开始跟踪,如图1.1.112所示。图1.1.112(6) 当算法跟踪完毕后,会自动切换回实验窗口并显示计算结果。(7) 查看实验面板中的计算结果,然后切换回调试器,选择工具栏中的“停止调试”按钮或按下SHIFT + F5快捷键以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论