古典密码与破译—编程实现

上传人:龙*** 文档编号:120767606 上传时间:2020-02-10 格式:PPT 页数:17 大小:286.50KB
返回 下载 相关 举报
古典密码与破译—编程实现_第1页
第1页 / 共17页
古典密码与破译—编程实现_第2页
第2页 / 共17页
古典密码与破译—编程实现_第3页
第3页 / 共17页
古典密码与破译—编程实现_第4页
第4页 / 共17页
古典密码与破译—编程实现_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《古典密码与破译—编程实现》由会员分享,可在线阅读,更多相关《古典密码与破译—编程实现(17页珍藏版)》请在金锄头文库上搜索。

1、1 第三讲 古典密码与破译 编程实现 2 Hill2加密与解密 若所给的明文或密文只含奇数个字母 则需补充一个哑元 3 加密与解密的编程实现 问题一 建立字母与其表值之间的转换关系 问题二 编程实现加密过程 问题三 编程实现解密过程 可分为下面三个子问题 这里假定加密矩阵及其在模运算下的逆矩阵都已知 4 字母与表值 建立A Z与0 25之间的一一对应关系 分析 表值 ASCII码 64表值为0的字母Z不满足上述公式 需特殊处理 5 Matlab编程 计算给定大写字母的表值 clear astr input 请输入一个大写字母 输入时要加单引号a1 double astr 计算该字母的ASCII

2、码a1 a1 64 计算表值ifa1 26 若字母的ASCII码为90 则其表值为0a1 0 endfprintf 字母 s对应的表值为 d n astr a1 字母与表值 6 修改上述程序 要求对输入进行判断 如果输入的不是大写字母 则要求重新输入 clear astr input 请输入一个大写字母 a1 double astr 计算该字母的ASCII码a1 a1 64 计算表值ifa1 26 a1 0 endfprintf 字母 s对应的表值为 d n astr a1 while a1 90 a1 65 astr input 输入错误 请输入一个大写字母 a1 double astr e

3、nd 字母与表值 7 修改上述程序 当输入大写字母组成的字符串时 计算出该字符串中所有字符的表值 clear astr input 请输入字符串 全部为大写字母 a1 double astr 计算ASCII码 此时a1为行向量while a1 90 a1 65 astr input 输入错误 应该全部为大写字母 a1 double astr enda1 a1 64 计算表值ifa1 26a1 0 endfprintf 字母 c对应的表值为 d n astr a1 any a1 90 a1 65 fori 1 length a1 对字符串中的Z特殊处理ifa1 i 26 a1 i 0 enden

4、dfprintf 字符串对应的表值为 disp a1 字母与表值 8 编程 计算给定数字 0 25 所对应的大写字母 clear e1 input 请输入一个数字 0到25之间 e1 e1 64 计算所对应字母的ASCII码ife1 64 如果输入的数字为0 则其对应的字母为Ze1 90 endestr char e1 根据ASCII码算出所对应的字母fprintf 对应的字母为 s n estr 字母与表值 9 修改上述程序 计算一组数字所对应的字符串 clear m 26 e1 input 请输入一行向量 输入时要加中括号e1 mod e1 m 64 计算模运算后所对应的ASCII码ife

5、1 64 如果输入的数字为0 则其对应的字母为Ze1 90 endestr char e1 根据ASCII码算出所对应的字符串fprintf 对应的字符串为 s n estr fori 1 length e1 对数组中的0特殊处理ife1 i 64 e1 i 90 endend 以上5个Matlab程序见课程主页 字母与表值 10 加密过程的Matlab实现 问题二 编程实现加密过程 在模运算意义下 给定加密矩阵 对任意大写字母组成的字符串进行加密 例 m 26 加密矩阵和字母表值分别为 exp0606 m 11 解密过程的Matlab实现 问题三 编程实现解密过程 在模运算意义下 给定加密矩

6、阵在模运算下的逆矩阵 对密文进行解密 例 m 26 加密矩阵模26逆矩阵和字母表值分别为 exp0607 m 12 哑元的选取 例 m 26 加密矩阵和字母表值分别为 exp0608 m 将最后一个字符作为哑元 exp0609 m 将表值为0的字符作为哑元 思考 1 哑元对加密解密会产生什么影响 2 以上两种哑元的取法分别在什么情况下有效 13 几个常见问题 14 几个问题 哑元问题 与加密矩阵相关必须是合法字符不一定是一个固定的字符 15 几个问题 一般的n阶矩阵的模m逆的计算方法 M A 1 j 1 j 1 n 1 i 1 i 1 n B i j 1 i j det M B mod k B m k是det A 的模m倒数 exp0611 m 伴随矩阵的计算 模m逆的计算 16 几个问题 输入的合法性判断 ASCII码与表值的转换 字符与表值转换的一般方法 exp0612 m 求补集 交集和并集的Matlab实现 特殊情况特殊处理也可分段处理 密文第一个字符可能为空格 例 加密矩阵为A 1 2 0 4 明文为YANG ifaa 32aa 0 elseaa aa 64 end 17 上机作业 1 已知密文为SG6T20FGB220V 其中加密矩阵为A 大写字母及数字的值表如下 试求出明文 2 教材P124 练习4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号