数学建模实验报告之Hill密码程序

数学建模实验报告之Hill密码程序

ID:31592807

大小:34.50 KB

页数:3页

时间:2019-01-14

数学建模实验报告之Hill密码程序_第1页
数学建模实验报告之Hill密码程序_第2页
数学建模实验报告之Hill密码程序_第3页
资源描述:

《数学建模实验报告之Hill密码程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、东南大学《数学实验》报告学号09008226姓名毕斌成绩实验内容:编写Hill密码程序一实验目的编制通用的Hilln密码程序二预备知识(1)熟悉Hilln密码加密过程及实现方法(2)熟悉mod、det、inv等Matlab命令三实验内容与要求用MATLAB或C++编制通用的Hilln密码程序(包括加密、解密及破译三个环节)functionencryption%加密函数msg=input('输入要加密的明文:','s')s=2;%两个字符一组msg_len=length(msg);%字符长度col=ceil(msg_len/s);%分组数m0

2、=zeros(1,s*col);%初始化m1=double(lower(msg))-double('a')+1;m2=m1+64*(m1<0);m0(1:msg_len)=m2;m3=reshape(m0,s,col);%构造用于加密的矩阵disp('加密密钥:')K=[1,1;0,3]n=26;c1=mod(K*m3,n);%模意义下的矩阵运算c2=reshape(c1,1,s*length(c1));c3=c2-64*(c2==0);%构造输出矩阵disp('密文:')sct=char(c3+'a'-1)%输出密文3functiondecr

3、yption%解密函数sct=input('输入要解密的密文:','s')s=2;sct_len=length(sct);col=ceil(sct_len/s);c0=zeros(1,s*col);c1=double(lower(sct))-double('a')+1;c2=c1+64*(c1<0);c0(1:sct_len)=c2;c3=reshape(c0,s,col);K=[1,1;0,3];n=26;disp('解密密钥:');inv_K=invmod(K,n)%调用自定义函数求模意义下的逆矩阵m1=mod(inv_K*c3,n);

4、m2=reshape(m1,1,s*length(m1));m3=m2-64*(m2==0);msg=char(m3+'a'-1)functionmod_inv_K=invmod(K,n)%自定义函数求模意义下的逆矩阵D=det(K);ifgcd(D,n)~=1disp('Error!不存在模意义下的逆');elsefori=1:n-1ifmod(i*D,n)==1break;endendinvD=i;K_len=length(K);fori=1:K_lenforj=1:K_lenK1=K;K1(i,:)=[];K1(:,j)=[];K_sta

5、r(j,i)=(-1)^(i+j)*det(K1);endendmod_inv_K=round(mod(invD*K_star,n));end3实验结果:>>encryption输入要加密的明文:damnmsg=damn加密密钥:K=1103密文:sct=ecap>>decryption输入要解密的密文:ecapsct=ecap解密密钥:inv_K=11709msg=damn3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。