- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验六 古典密码及破译
数学实验 实验六 古典密码与破译 问题背景和实验目的 问题背景和实验目的 加密信息传递过程 Hill2 密码的加密过程 Hill2 密码的加密过程 Hill2 加密举例 Hill2 加密举例 Hill2 加密举例 Hill2 加密过程 Hill2 解密过程 模 m 可逆 模 m 可逆 模 26 可逆 表2 可用下列程序求得: m=26; for a=1:m ?for i=1:m if mod(a*i, m)==1 fprintf(The INVERSE (mod %d) of number: %d is: %d\n, m, a, i) end; end; end Hill2 解密过程 模 m 逆矩阵的计算 Hill2 解密过程 Hill2 加密过程总结 Hill2 解密过程总结 Hill2 解密举例 Hill2 解密举例 Hill2 解密举例 Hill2 解密举例 Hill2 解密举例 Hill2 密码破译举例 Hill2 密码破译举例 Hill2 密码破译举例 Hill2 密码破译举例 相关Matlab函数介绍 相关Matlab函数介绍 相关Matlab函数介绍 相关Matlab函数介绍 数据输出 fprintf 数据输出 fprintf 上机作业 input A=input(提示信息) 其中 提示信息 为字符串 该命令要求用户输入 A 的值,可以是数、矩阵或字符串 数可以直接输入 矩阵需要加 [] 字符串需要加单引号 A=input(Please input A: ) size size(a) length length(a) 如果 a 是向量,则返回其长度; 如果 a 是矩阵,则返回行数与列数中最大的一个。 mod mod(m,n) 求余,返回 m 被 n 整除后的余数,符号与 n 相同; 另外一个求余函数是 rem gcd :求最大公约数 gcd(m,n) det :计算行列式 det(A) inv :计算逆矩阵 inv(A) reshape :将矩阵元素按列方向进行重组 reshape(A,m,n) 将 A 排 m 行,n 列的矩阵,要求 A 的元素个数 =m*n double double(str) 当 str 是字符串时,返回所有字符的 ASCII 码 char char(a) 当 a 是整数时,返回 ASCII 码等于 a 的字符 fid 为文件句柄,若缺省,则将变量的值输出到屏幕上 format 用来指定数据输出时采用的格式,常见的有 %e ( 采用科学计算形式 ) %f ( 采用浮点数形式 ) %g ( 由系统自动选取上述两种格式之一) %s ( 输出字符串) format 中还可以使用一些特殊格式,如: \n ( 换行 ) \t ( 制表符 ) \b ( 退格 ) \\ ( 反斜杆 ) %% ( 百分号 ) fprintf(fid,format,variables) 按指定的格式将变量的值输出到指定的文件 fprintf :格式化输出 * * 保密通讯无论在军事、政治、经济还是日常生活中都起着非常重要的作用。 为了将信息传递给己方的接受者,同时又要防止他人(特别是敌人)知道信息的内容,必须将要传递的信息(明文)加密,变成密文后发送出去,这样,即使敌方得到密文也看不懂,而己方的接受者收到密文后却可以按照预先定好的方法加以解密。 明文 密文 明文 加密 解密 密码可分为古典密码和现代密码 本实验主要介绍古典密码的加密与破译原理,同时介绍如何用 Matlab 编程来实现加密、解密和破译过程。 古典密码:以字符为基本加密单元; 现代密码:以信息块为基本加密单元。 明文(信息) 加密器 密文 密文 明文(信息) 解密器 普通信道 发送 敌方截获 破译 发送方 接收方 Hill2 密码中所用的数学手段是 矩阵运算。 加密过程: ① 将汉语拼音的 26 个字母 与 0 到 25 之间的整数建立一一对应关系,称为字母的 表值,然后根据明文字母的表值,将明文信息用数字表示。 13 12 11 10 9 8 7 6 5 4 3 2 1 M L K J I H G F E D C B A 0 25 24 23 22 21 20 19 18 17 16 15 14 Z Y X W V U T S R Q P O N 设通讯双方所给出的 26 个字母的表值如下: 注:这里假定明文中只使用 26 个大写字母 ② 选择一个 二阶可逆整数方阵 A,称为Hill2密码的 加密矩阵,它是加密体制的 “密钥”,是加密的关键,仅通讯双方掌握。 ③ 将明文字母分组。 Hill2 使用的是二阶矩阵,所以将明文字母每 2 个一组(可以推广至Hill
文档评论(0)