实验报告书MATLAB编制度通用的Hilln密码程序_第1页
实验报告书MATLAB编制度通用的Hilln密码程序_第2页
实验报告书MATLAB编制度通用的Hilln密码程序_第3页
实验报告书MATLAB编制度通用的Hilln密码程序_第4页
实验报告书MATLAB编制度通用的Hilln密码程序_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、实验报告书matlab编制通用的hilln密码程序实验内容 :用 matlab实现 hill n 密码程序 (包括加密、解密及破译三个环节 )一 实验目的实现 hill n 密码体系的关键环节 (加密、解密、破译 )二 预备知识熟悉 mod、det、find 等 matlab 命令三 实验内容与要求(1)假设加密矩阵为12a=,用 matlab 编制程序 ,加密下面一段03明文 :shuxuejianmojingsai命令结果function hill()ixqteobacpqsbabuu%输入密钥disp(输入密钥 (矩阵 )的维数 );caan=input();disp(输入密钥 (矩阵

2、,按行输入 );key=zeros(n,n);for j=1:nfor k=1:nkey(j,k)=input();endendd=det(key);%求矩阵的行列式if d=0% 判断矩阵就是否可逆error(密钥矩阵不可逆 ,无法实现hill密码);end%输入明文message=input(输入明文n,s);m=size(message);m=m(2);if mod(m,n)=0error(输入错误 ,明文长度应为矩阵维数的倍数 );end实验报告书matlab编制通用的hilln密码程序for i=1:mifmessage(i)=a&message(i)=zmessage(i)=mes

3、sage(i)-64;elseerror(输入错误 ,应该输入字母 );endend%加密i=1;while i26a(i)=mod(a(i),26);enda(i)=a(i)+64;endstr=char(a);fprintf( 密文为 %s,str)(2)假设加密矩阵为11编制程序 ,解密下面一段密a=,用 matlab0 3文 : axstzosaopbstksan kopsahauunsuuakgauzc kopdo命令结果function hill2()ytmhostcevueegtc%输入密钥disp(输入密钥 (矩阵 )的维数 );n=input();ygevtcicpkgepk

4、lgdisp(输入密钥 (矩阵 ,按行输入 );key=zeros(n,n);for j=1:nfor k=1:nhcungevsskey(j,k)=input( );endendd=det(key);%求矩阵的行列式if d=0% 判断矩阵就是否可逆error(密钥矩阵不可逆 ,无法实现 hill 密码 );end%输入密文实验报告书matlab编制通用的hilln密码程序message=input(输入密文n,s);m=size(message);m=m(2);if mod(m,n)=0error(输入错误 ,密文长度应为矩阵维数的倍数 );endfor i=1:mif message(i

5、)=a & message(i)26d=mod(d,26);endswitch dcase 1r1=1;case 3r1=9;case 5r1=21;case 7r1=15case 9r1=3;case 11r1=19;case 15r1=7;case 17r1=23;case 19r1=11;case 21;r1=5;case 23r1=17;case 25r1=25;otherwise disp(d倒数不存在 );实验报告书matlab编制通用的hilln密码程序enddetk=det(key);invk=inv(key);k=detk*invk;key2=r1*k;for i=1:nfo

6、r j=1:nkey2(i,j)=mod(key2(i,j),26);if key2(i,j)0key2(i,j)=key2(i,j)+26;endendendi=1;while i26b(i)=mod(b(i),26);endif b(i)=0b(i)=26;endb(i)=b(i)+64;endstr2=char(b);fprintf(n 对密文解密后明文为 %sn,str2)end(3)甲方截获了一段密文 :bkopgatrhmmbfc sdjc cauu经分析这段密文就是用hill 2 密码编译的 ,且这段密文的字母sdjc 依次代表字母ijia, 请破译这段密文的内容matlab 命

7、令结果实验报告书matlab编制通用的hilln密码程序function hill3()%截获的密文message1=input(输入截获密文 n,s); for i=1:4if message1(i)=a & message1(i)=a & message2(i)26d=mod(d,26);endswitch dcase 1r1=1;case 3r1=9;case 5r1=21;case 7r1=15case 9r1=3;case 11r1=19;case 15r1=7;case 17r1=23;osqdrwdxsmstgqwnwqbwdo实验报告书matlab编制通用的hilln密码程序c

8、ase 19r1=11;case 21;r1=5;case 23r1=17;case 25r1=25;otherwise disp(d倒数不存在 );enddetk=det(b);invk=inv(b);k=detk*invk;for i=1:2for j=1:2k(i,j)=mod(k(i,j),26);if k(i,j)0k(i,j)=k(i,j)+26;endendendc=;c(1,1)=message2(1);c(2,1)=message2(2);c(1,2)=message2(3);c(2,2)=message2(4);key1=c*k;for i=1:2for j=1:2key1(i,j)=mod(key1(i,j),26);if key1(i,j)0key1(i,j

温馨提示

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

评论

0/150

提交评论