1 数 模 实 验 一 实 验 内 容 : 用MATLAB 实 现 Hilln密 码 程 序 ( 包 括 加 密 、解密 及破译三个环节) 一 实 验 目的 实 现 Hilln 密 码 体 系 的 关 键 环 节 ( 加 密 、解密 、破译) 二 预备知识 熟悉 mod、det、find 等 Matlab 命令 三 实 验 内 容 与要求 ( 1)假设加 密 矩阵为 A=3201,用 MATLAB 编制程序,加 密 下面一 段明文:SHUXUEJIANMOJINGSAI 命令 结果 function hill() %输入密 钥 disp('输入密 钥(矩阵)的 维数'); n=input(''); disp('输入密 钥(矩阵,按行输入)'); key=zeros(n,n); for j=1:n for k=1:n key(j,k)=input(''); end end IXQTEOBACPQSBABUUCAA 2 d=det(key);%求 矩 阵 的 行 列 式 if d==0%判 断 矩 阵 是 否 可 逆 error('密 钥 矩 阵 不可 逆 ,无法实现 Hill 密码'); end %输入明文 message=input('输入明文 \n','s'); m=size(message); m=m(2); if mod(m,n)~=0 error('输入错误,明文长度应为矩 阵 维数的 倍数'); end for i=1:m if message(i)>='A' && message(i)