MATLAB - Hilln密码程序(包括加密、解密及破译三个环节)实验报告书
更新时间:2023-12-09 05:10:01 阅读量: 教育文库 文档下载
- matlab安装教程推荐度:
- 相关推荐
数模实验一
实验内容:用MATLAB实现Hilln密码程序(包括加密、解密及破译三个环节) 一实验目的
实现Hilln密码体系的关键环节(加密、解密、破译) 二 预备知识
熟悉mod、det、find等Matlab命令 三 实验内容与要求
(1)假设加密矩阵为A=??03??,用
???12?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 1
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)<='Z' message(i)=message(i)-64; else error('输入错误,应该输入字母'); end end %加密 2
i=1; while i
disp('输入密钥(矩阵,按行输入)'); key=zeros(n,n); for j=1:n for k=1:n key(j,k)=input(' '); end end 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' 4
&&message(i)<='Z' message(i)=message(i)-64; else error('输入错误,应该输入字母'); end end %r1为d的逆 while d>26 d=mod(d,26); end switch d case 1 r1=1; case 3 r1=9; case 5 r1=21; case 7 r1=15 case 9 r1=3; case 11 5
r1=19; case 15 r1=7; case 17 r1=23; case 19 r1=11; case 21; r1=5; case 23 r1=17; case 25 r1=25; otherwise disp('d倒数不存在'); end detk=det(key); invk=inv(key); k=detk*invk; key2=r1*k; for i=1:n for j=1:n key2(i,j)=mod(key2(i,j),26); 6
if key2(i,j)<0 key2(i,j)=key2(i,j)+26; end end end i=1; while i
fprintf('\\n对密文解密后明文为%s\\n',str2) end (3)甲方截获了一段密文:
BKOPGATRHMMBFCSDJCCAUU
经分析这段密文是用Hill2密码编译的,且这段密文的字母SDJC依次代表字母IJIA,请破译这段密文的内容
Matlab命令 function hill3() %截获的密文 message1=input('输入截获密文 \\n','s'); for i=1:4 if message1(i)>='A' && 结果 OSQDRWDXSMSTGQ WNWQBWDO message1(i)<='Z' message1(i)=message1(i)-64; else error('输入错误,应该输入大写字母'); end end %对应的明文 8
message2=input('输入对应的明文 \\n','s'); for i=1:4 if message2(i)>='A' && message2(i)<='Z' message2(i)=message2(i)-64; else error('输入错误,应该输入大写字母'); end end %求密钥的逆矩阵 B=[]; B(1,1)=message1(1);B(2,1)=message1(2); B(1,2)=message1(3);B(2,2)=message1(4); d=det(B); while d>26 d=mod(d,26); end switch d case 1 r1=1; case 3 9
r1=9; case 5 r1=21; case 7 r1=15 case 9 r1=3; case 11 r1=19; case 15 r1=7; case 17 r1=23; case 19 r1=11; case 21; r1=5; case 23 r1=17; case 25 r1=25; otherwise disp('d倒数不存在'); 10
正在阅读:
MATLAB - Hilln密码程序(包括加密、解密及破译三个环节)实验报告书12-09
实验二 氧化还原反应09-22
遵义医学院《内科学-下》作业题03-08
公务员考试公共基础知识之政治常识考点04-20
跑步小学生三年级作文06-13
2011年全国室内设计师资格考试试卷A卷05-28
航站楼旅客流程仿真研究04-23
科里奥利力及其应用12-06
师徒结对之徒弟计划04-03
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 报告书
- 破译
- 解密
- 加密
- 环节
- 三个
- 包括
- 密码
- 实验
- 程序
- MATLAB
- Hilln
- 中职英语模块1Unit 7 全单元教案
- 网页设计实验报告 实验一
- 土木工程材料知识点
- 传统文化在小学语文教学中的渗透
- 家属致女性亲属悼词范文(通用)
- 站台改造施工方案
- 考核题 - 图文
- 2019年曲靖教师招聘考试冲刺卷九
- 护理基础习题
- 北京协和医院生物安全培训题目及答案
- 山东省人民政府办公厅关于开展小额贷款公司试点工作的意见--鲁政办发46号
- 东江水库洪水预报调度系统研究与开发
- 数学第三册第一单个性教案认识米gai - 图文
- 高层建筑垂直度放线控制 - secret - 图文
- 新人教版数学六年级上册《百分数整理与复习》教学设计
- 公治853号 公安部《行政主管部门移送适用行政拘留环境违法案件暂行办法》
- 2017-2023年中国通信继电器行业市场发展态势及投资前景可行性报告(目录)
- 数据库SQL期末考试复习题修改版
- 农村商业银行股东大会议事规则
- 注塑机伺服电机如何节能?