好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

MATLAB实验六古典密码与破译.ppt

35页
  • 卖家[上传人]:hs****ma
  • 文档编号:591138664
  • 上传时间:2024-09-16
  • 文档格式:PPT
  • 文档大小:457KB
  • / 35 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 实验六古典密码与破译数学实验MATLAB实验六古典密码与破译 q 保密通讯无论在军事、政治、经济还是日常保密通讯无论在军事、政治、经济还是日常生活中都起着非常重要的作用生活中都起着非常重要的作用q 为了将信息传递给己方的接受者,同时又要防为了将信息传递给己方的接受者,同时又要防止他人(特别是敌人)知道信息的内容,必须将止他人(特别是敌人)知道信息的内容,必须将要传递的信息(要传递的信息(明文明文)加密,变成)加密,变成密文密文后发送出后发送出去,这样,即使敌方得到密文也看不懂,而己方去,这样,即使敌方得到密文也看不懂,而己方的接受者收到密文后却可以按照预先定好的方法的接受者收到密文后却可以按照预先定好的方法加以解密加以解密问题背景和实验目的问题背景和实验目的MATLAB实验六古典密码与破译 q 密码可分为古典密码和现代密码密码可分为古典密码和现代密码q 本实验主要介绍本实验主要介绍古典密码古典密码的加密与破译原理,同的加密与破译原理,同时介绍如何用时介绍如何用 Matlab 编程来实现加密、解密和破编程来实现加密、解密和破译过程问题背景和实验目的问题背景和实验目的u 古典密码:古典密码:以字符为基本加密单元;以字符为基本加密单元;u 现代密码:现代密码:以信息块为基本加密单元。

      以信息块为基本加密单元MATLAB实验六古典密码与破译 加密信息传递过程加密信息传递过程明文(信息)明文(信息)加密器加密器密文密文密文密文明文(信息)明文(信息)解密器解密器普普通通信信道道发发送送敌方截获敌方截获破译破译发送方发送方接收方接收方MATLAB实验六古典密码与破译 Hill2 密码的加密过程密码的加密过程q Hill2 密码中所用的数学手段是密码中所用的数学手段是 矩阵运算矩阵运算q 加密过程:加密过程:①① 将汉语拼音的将汉语拼音的 26 个字母个字母 与与 0 到到 25 之间的整数建之间的整数建立一一对应关系,称为字母的立一一对应关系,称为字母的 表值表值,然后根据明文字,然后根据明文字母的表值,母的表值,将明文信息用数字表示将明文信息用数字表示ABCDEFGHIJKLM12345678910111213NOPQRSTUVWXYZ1415161718192021222324250设通讯双方所给出的设通讯双方所给出的 26 个字母的表值如下:个字母的表值如下:注:这里假定明文中只使用注:这里假定明文中只使用 26 个大写字母个大写字母MATLAB实验六古典密码与破译 Hill2 密码的加密过程密码的加密过程②② 选择一个选择一个 二阶可逆整数方阵二阶可逆整数方阵 A,称为,称为Hill2密码的密码的 加加密矩阵密矩阵,它是加密体制的,它是加密体制的 “密钥密钥”,是加密的关键,,是加密的关键,仅通仅通讯双方掌握讯双方掌握。

      ③③ 将明文字母分组将明文字母分组 Hill2 使用的是二阶矩阵,所以将明使用的是二阶矩阵,所以将明文字母每文字母每 2 个一组(可以推广至个一组(可以推广至Hilln密码)查出每个字密码)查出每个字母的表值,这样,每组字母构成一个二维列向量母的表值,这样,每组字母构成一个二维列向量   若最后仅剩一个字母,则补充一个没有实际意义的哑字母若最后仅剩一个字母,则补充一个没有实际意义的哑字母(哑元)这样使得每组都有(哑元)这样使得每组都有 2 个字母,个字母,④④ 令令   = A  ,由,由   的两个分量反查字母表值表,得的两个分量反查字母表值表,得到相应的两个字母,即为密文字母到相应的两个字母,即为密文字母MATLAB实验六古典密码与破译 Hill2 加密举例加密举例例:例: 设明文为设明文为“HDSDSXX”(华东师大数学系),试给出(华东师大数学系),试给出这段明文的这段明文的 Hill2 密文其中加密矩阵为密文其中加密矩阵为 将明文字母分组:将明文字母分组: HD SD SX XX最后的一个字母最后的一个字母 X 为哑字母,无实际意义。

      为哑字母,无实际意义解解:A B C D E F G H IJKLM1 2 3 4 5 6 7 89 10111213NOPQRSTUVWXYZ1415161718192021222324250查表得每组字母的表值,得到查表得每组字母的表值,得到 4 个二维列向量:个二维列向量:MATLAB实验六古典密码与破译 将上述将上述 4 个二维向量左乘密钥矩阵个二维向量左乘密钥矩阵 A 得:得:作模作模 26 运算,将所有的数都化为运算,将所有的数都化为 0 到到 25 之间的整数:之间的整数:Hill2 加密举例加密举例MATLAB实验六古典密码与破译 反查字母表值得每个向量对应的字母组为:反查字母表值得每个向量对应的字母组为:HDSDSXXPLALOTTTHill2 加密加密Hill2 加密举例加密举例A B C D E F G H IJKLM1 2 3 4 5 6 7 89 10111213NOPQRSTUVW XYZ1415161718192021222324250PL AL OT TTMATLAB实验六古典密码与破译 问题:问题:怎样解密?怎样解密?明文字母明文字母查表值查表值分组分组一组向量一组向量加加密密矩矩阵阵左左乘乘一组新的向量一组新的向量反查表值反查表值密文密文Hill2 加密过程加密过程模运算模运算MATLAB实验六古典密码与破译 先查出密文字母先查出密文字母 “ PL AL OT TT ” 所对应的向量:所对应的向量:在模运算下解方程组:在模运算下解方程组: A  =  q 解密:加密的逆过程,解密:加密的逆过程,将加密过程逆转回去即可。

      将加密过程逆转回去即可Hill2 解密过程解密过程上面的向量是由上面的向量是由 经过模经过模 26 运算得来运算得来的,现在的问题是怎样逆转回去?的,现在的问题是怎样逆转回去?例:怎么得到密文例:怎么得到密文 “ PLALOTTT ” 的原文的原文 MATLAB实验六古典密码与破译 模模 m 可逆可逆记记定义定义 1:设:设 A 为定义在集合为定义在集合 Zm 上的上的 n 阶方阵,若存在一个定阶方阵,若存在一个定义在义在 Zm 上的方阵上的方阵 B,,使得使得 则称则称 A 模模 m 可逆,可逆, B 为为 A 的的 模模 m 逆矩阵,记为逆矩阵,记为定义定义 2:设:设 a   Zm ,若存在,若存在 b   Zm 使得使得 ab=1 (mod m) ,则,则称称 b 为为 a 的的 模模 m 倒数倒数 或乘法逆,记作或乘法逆,记作 b = a-1 (mod m) 注注: a , b 都是都是 Zm 中的数中的数MATLAB实验六古典密码与破译 命题:定义在集合命题:定义在集合 Zm 上的上的 n 阶方阵阶方阵 A 模模 m 可逆的充要条可逆的充要条件是:件是:m 和和 det(A) 无公共素数因子,即无公共素数因子,即 m 与与 det(A) 互素。

      互素Hill2 密码的加密矩阵必须满足上述条件密码的加密矩阵必须满足上述条件m=26m 的素数因子只有的素数因子只有 2 和和 13u 定义在定义在 Z26上的方阵上的方阵 A 模模 26 可逆可逆的充要条件是:的充要条件是:模模 m 可逆可逆det(A) 不能被不能被 2 和和 13 整除整除u 问题:问题:是否是否 Zm 中所有的数都存在中所有的数都存在模模 m 倒数倒数??a 存在唯一的模存在唯一的模 m 倒数倒数a 与与 m 无公共素数因子无公共素数因子MATLAB实验六古典密码与破译 u Z26 中具有模中具有模 26 倒数的整数及其模倒数的整数及其模 26 倒数表倒数表a1357911 15 17 19 21 23 25a-11921 15319723 11517 25m=26 时的时的 Matlab 程序见教材第程序见教材第 121 页页 fuluA.m 可以用来判断一个可以用来判断一个 2 阶矩阵在模阶矩阵在模 26 运算下运算下是否可逆,并在可逆的前提下给出其模是否可逆,并在可逆的前提下给出其模 26 逆矩阵模模 26 可逆可逆u 思考:思考:如何用如何用 Matlab 编程来找出所有模编程来找出所有模 m 倒倒数的整数及其模数的整数及其模 m 倒数?倒数?MATLAB实验六古典密码与破译 在模运算下解方程组:在模运算下解方程组: A  =  Hill2 解密过程解密过程??u 问题:问题:如何计算如何计算 ??MATLAB实验六古典密码与破译 模模 m 逆矩阵逆矩阵的的计算计算l 设设 B=k A*为为 A 的的 模模 26 逆逆,其中,其中 k 为待定系数为待定系数 A*为为 A 的伴随矩阵的伴随矩阵本计算方法可推广到求矩阵本计算方法可推广到求矩阵 A 的的 模模 m 逆矩阵逆矩阵MATLAB实验六古典密码与破译 Hill2 解密过程解密过程l 设加密矩阵设加密矩阵MATLAB实验六古典密码与破译 l 用用 B 左乘密文对应的向量得:左乘密文对应的向量得:l 模模 26 运算后得:运算后得:l 查表后得明文分别为:查表后得明文分别为: HD SD SX XXMatlab 的的 Hill2 加密程序见加密程序见 附录附录 B,相应解密程序见,相应解密程序见 附录附录 C。

      MATLAB实验六古典密码与破译 Hill2 加密过程总结加密过程总结①① 通讯双方确定加密矩阵通讯双方确定加密矩阵 ( 密钥密钥) 和字母的表值对应表和字母的表值对应表②② 将明文字母分组,通过查表列出每组字母对应的向量将明文字母分组,通过查表列出每组字母对应的向量  ③③ 令令   = A  mod(m) ,由,由   的分量反查字母表值表,的分量反查字母表值表, 得到相应的密文字母得到相应的密文字母若明文只含奇数个字母,则补充一个哑元若明文只含奇数个字母,则补充一个哑元MATLAB实验六古典密码与破译 Hill2 解密过程总结解密过程总结①① 将密文字母分组,通过查表列出每组字母对应的向量将密文字母分组,通过查表列出每组字母对应的向量 ②② 求出加密矩阵求出加密矩阵 A 的的 模模 m 逆矩阵逆矩阵 B③③ 令令   = B   mod(m) ,由,由   的分量反查字母表值表,的分量反查字母表值表, 得到相应的明文字母得到相应的明文字母MATLAB实验六古典密码与破译 甲方收到乙方(己方)的一个密文信息,内容为:甲方收到乙方(己方)的一个密文信息,内容为:Hill2 解密举例解密举例WKVACPEAOCIXGWIZUROQWABALOHDKCEAFCLWWCVLEMIMCC按照甲方与乙方的约定,他们之间采用按照甲方与乙方的约定,他们之间采用 Hill2密码,密钥密码,密钥为为 ,字母表值见下表,问这段密文的原文,字母表值见下表,问这段密文的原文是什么?是什么?ABCDEFGHIJKLM12345678910111213NOPQRSTUVWXYZ1415161718192021222324250MATLAB实验六古典密码与破译 Hill2 解密举例解密举例①① 将密文字母分组,通过查表列出每组字母对应的向量将密文字母分组,通过查表列出每组字母对应的向量②② 求出加密矩阵求出加密矩阵 A 的的 模模 26 逆矩阵逆矩阵③③ 用用 B 左乘每组密文字母组成的向量,然后再反查字母左乘每组密文字母组成的向量,然后再反查字母表值表,得到相应的明文字母表值表,得到相应的明文字母MATLAB实验六古典密码与破译 序序号号分组分组密文密文密文密文表值表值明文明文表值表值分组分组明文明文1W K2311721GU2VA22149DI3CP316114AN4EA51139MI5OC153131MA6IX924198SH序序号号分组分组密文密文密文密文表值表值明文明文表值表值分组分组明文明文7GW723925IY8IZ9090IZ9UR211896IF10OQ15172123UW11WA23159EI12BA21109JIHill2 解密举例解密举例MATLAB实验六古典密码与破译 序序号号分组分组密文密文密文密文表值表值明文明文表值表值分组分组明文明文13LO121525BE14HD841410NJ15KC11391IA16EA51139MI17FC6341DA18LW12231425NY序序号号分组分组密文密文密文密文表值表值明文明文表值表值分组分组明文明文19WC233211UA20VL2212144ND21EM513513EM22IM913913IM23CC3311AAHill2 解密举例解密举例MATLAB实验六古典密码与破译 即:即:““古典密码是以古典密码是以字符为基本加密单元的密码字符为基本加密单元的密码”GU DIAN MI MA SHI YI ZI FU WEI JI BEN JIA MI DAN YUAN DE MI MA AWKVACPEAOCIXGWIZUROQWABALOHDKCEAFCLWWCVLEMIMCC原文原文Hill2 解密举例解密举例密文密文MATLAB实验六古典密码与破译 ABCDEFGHIJKLM12345678910111213NOPQRSTUVWXYZ1415161718192021222324250经分析该密文是用经分析该密文是用 Hill2密码密码 加密,且密文加密,且密文 ( U, C ) 和和 ( R, S ) 分别对应明文分别对应明文 ( T, A ) 和和 ( C, O ),,问能否破译这段密文?问能否破译这段密文?Hill2 密码破译举例密码破译举例MOFAXJEABAUCRSXJLUYHQATCZHWBCSCP我方截获一段密文我方截获一段密文l 猜测密文是由猜测密文是由26个字母组成,即个字母组成,即 m=26,, 经破译部门通过大量的统计分析和语言分析确定表值经破译部门通过大量的统计分析和语言分析确定表值l 破译这段密文的关键是找到破译这段密文的关键是找到“密钥密钥”和和字母对应的表值字母对应的表值MATLAB实验六古典密码与破译 l 密文密文 ( U, C ) 和和 ( R, S ) 分别对应明文分别对应明文 ( T, A ) 和和 ( C, O )Hill2 密码破译举例密码破译举例查查 字字 母母 表表 值值PCMATLAB实验六古典密码与破译 P、、C 模模26可逆可逆可唯一确定加密矩阵可唯一确定加密矩阵 AHill2 密码破译举例密码破译举例注:这里的运注:这里的运算都是在模运算都是在模运算意义下进行算意义下进行MATLAB实验六古典密码与破译 HE WI LL VI SI TA CO LL EG ET HI SA FT ER NO ON相应的相应的 Matlab 程序见附录程序见附录 D u 得到加密矩阵的得到加密矩阵的 模模26逆矩阵逆矩阵 后,根据前面的解后,根据前面的解密方法即可得密文的原文密方法即可得密文的原文Hill2 密码破译举例密码破译举例MATLAB实验六古典密码与破译 相关相关Matlab函数介绍函数介绍u inputA=input(提示信息提示信息)l 其中其中 提示信息提示信息 为字符串为字符串l 该命令要求用户输入该命令要求用户输入 A 的值,可以是数、矩阵或字符串的值,可以是数、矩阵或字符串n 数可以直接输入数可以直接输入n 矩阵需要加矩阵需要加 []n 字符串需要加字符串需要加单引号单引号>>>> A=input('Please input A: ')u sizesize(a)MATLAB实验六古典密码与破译 相关相关Matlab函数介绍函数介绍u lengthlength(a)l 如果如果 a 是向量,则返回其长度;是向量,则返回其长度;l 如果如果 a 是矩阵,则返回行数与列数中最大的一个。

      是矩阵,则返回行数与列数中最大的一个u modmod(m,n)l 求余,求余,返回返回 m 被被 n 整除后的余数,符号与整除后的余数,符号与 n 相同相同;l 另外一个求余函数是另外一个求余函数是 remu gcd :求最大公约数:求最大公约数gcd(m,n)MATLAB实验六古典密码与破译 相关相关Matlab函数介绍函数介绍u det :计算行列式:计算行列式det(A)u inv ::计算逆矩阵计算逆矩阵inv(A)u reshape ::将矩阵元素按将矩阵元素按列方向列方向进行重组进行重组reshape(A,m,n)l 将将 A 排排 m 行,行,n 列的矩阵,要求列的矩阵,要求 A 的元素个数的元素个数 =m*nMATLAB实验六古典密码与破译 相关相关Matlab函数介绍函数介绍u doubledouble(str)l 当当 str 是字符串时,返回所有字符的是字符串时,返回所有字符的 ASCII 码码u charchar(a)l 当当 a 是整数时,返回是整数时,返回 ASCII 码等于码等于 a 的字符的字符MATLAB实验六古典密码与破译 数据输出数据输出 fprintfl fid 为文件句柄,若缺省,则将变量的值输出到屏幕上为文件句柄,若缺省,则将变量的值输出到屏幕上l format 用来指定数据输出时采用的格式,常见的有用来指定数据输出时采用的格式,常见的有§ %d ( 输出一个整数类型的数据输出一个整数类型的数据 )§ %e ( 采用科学计算形式输出一个实数采用科学计算形式输出一个实数 )§ %f ( 采用浮点数形式输出一个实数采用浮点数形式输出一个实数)§ %g ( 由系统自动选取上述两种格式之一由系统自动选取上述两种格式之一) § %s ( 输出字符串输出字符串) l format 中还可以使用一些特殊格式,如:中还可以使用一些特殊格式,如:\n ( 换行换行 ) \t ( 制表符制表符 ) \b ( 退格退格 ) \\ ( 反斜杆反斜杆 ) %% ( 百分号百分号 ) fprintf(fid,format,variables)按指定的格式将变量的值输出到指定的文件按指定的格式将变量的值输出到指定的文件u fprintf :格式化输出:格式化输出MATLAB实验六古典密码与破译 数据输出数据输出 fprintf>>>> a='Hello'; b=2.4; c=100*pi;>>>> fprintf('a=%s,b=%f,c=%e\n',a,b,c)例:例:l format 中的输出格式要与输出变量一一对应中的输出格式要与输出变量一一对应l 可以没有输出变量可以没有输出变量>>>> fprintf(' Today is Monday\n')例:例:MATLAB实验六古典密码与破译 。

      点击阅读更多内容
      相关文档
      2025国开山东开大《土质学与土力学》形成性考核123答案+终结性考核答案.docx 中学综合素质知识点梳理【中学教师资格证】.docx 2025国开山东开大《特许经营概论》形成性考核123答案+终结性考核答案.doc 2025年高考英语全国一卷真题(含答案).docx 2025国开山东《农民专业合作社创建与管理》形成性考核123答案+终结性考核答案.docx 2025国开山东开大《自然现象探秘》形成性考核123答案+终结性考核答案.docx 2025国开山东《消费心理学》形成性考核123答案+终结性考核答案.doc 2025国开山东《小微企业管理》形成性考核123答案+终结性考核答案.doc 2025国开山东开大《资本经营》形成性考核123答案+终结性考试答案.docx 2025国开山东《小学生心理健康教育》形考123答案+终结性考试答案.docx 2025国开《视频策划与制作》形考任务1-4答案.docx 2025国开《亲子关系与亲子沟通》形考任务234答案+期末大作业答案.docx 2025国开电大《煤矿地质》形成性考核123答案.docx 2025国开电大《冶金原理》形考任务1234答案.docx 2025国开《在线学习项目运营与管理》形考任务1234答案.doc 2025国开电大《在线教育的理论与实践》阶段测验1-4答案.docx 2024 年注册环保工程师《专业基础考试》真题及答案解析【完整版】.docx 环保工程师---2023 年注册环保工程师《专业基础考试》真题及答案解析【完整版】.docx 2025国开《液压与气压传动》形考任务一参考答案.docx 2025年春江苏开放大学教育研究方法060616计分:形成性作业2、3答案.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.