• 换字式密码破解和维吉尼亚密码 密码学03


    换字式密码破解和维吉尼亚密码

     

    让编程改变世界

    Change the world by program


     

    破译换字式密码

      上节课小甲鱼已经给大家介绍换字式密码:将每个字符及后移字符都进行变换。(强度 1280 亿年) [caption id="attachment_490" align="aligncenter" width="300"] 破译换字式密码[/caption] [caption id="attachment_491" align="aligncenter" width="300"] 破译换字式密码[/caption]   由此得到密文是:AWMQSBANGD  

    破译方法:字符频数分析法

    这是一个栗子:cipher.txt (课件及源代码  

    破解思路:

     

    1. 英文字母词频分布情况(可自己总结:工具)

    高频字母:E、T、A、O、N、I、R、S、H 中频字母:D、L、U、C、M 低频字母:P、F、Y、W、G、B、V 稀频字母:J、K、Q、X、Z  

    2. 依照上表逐个进行替换尝试

     

    3. 耐心,没了!

      总结:只要方法恰当,没有不可能的事! 作业:cipher.txt 提示:耐心  

    维吉尼亚密码

      维吉尼亚密码引入了”密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。 [caption id="attachment_492" align="aligncenter" width="300"] 维吉尼亚密码表[/caption]   假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:

    TO DO OR NOT TO DO

        当选定 FISHC 作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为F,因此可以找到在F行中代替T的为Y,依此类推: [caption id="attachment_493" align="aligncenter" width="300"] 维吉尼亚密码[/caption]  

    解密的过程则与加密相反

      根据密钥第一个字母 F 所对应的 F 行字母表,发现密文第一个字母 Y 位于 T 列,因而明文第一个字母为T。 依次类推即可求出明文!  

    课后延伸阅读

     

    破译维吉尼亚密码:卡西斯基试验和弗里德曼试验

    维热纳尔密码:延伸阅读_维热纳尔密码.doc

      [kml_flashembed publishmethod="static" fversion="8.0.0" movie="http://player.youku.com/player.php/sid/XNDM0OTE3Nzg4/v.swf" width="600" height="450" targetclass="flashmovie" wmode="transparent"] Get Adobe Flash player [/kml_flashembed] [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://urlxf.qq.com/?uYbYj2E']视频下载[/Downlink]
  • 相关阅读:
    PyQt5经典案例
    JS实现深拷贝(解决循环引用等问题)
    React/Vue里的key到底有什么用?看完这篇你就知道了!(附demo代码)
    linux盘符操作命令
    Ubuntu20.04下安装opencv for C++
    数字图像处理-python随机噪声、高斯噪声和椒盐噪声实现
    数字图像处理-(1)pyqt页面
    数字图像处理-Python读取BMP文件
    docker笔记
    CentOS7安装GO
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3846205.html
Copyright © 2020-2023  润新知