zoukankan      html  css  js  c++  java
  • 换字式密码破解和维吉尼亚密码 密码学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]
  • 相关阅读:
    CodeForces 156B Suspects(枚举)
    CodeForces 156A Message(暴力)
    CodeForces 157B Trace
    CodeForces 157A Game Outcome
    HDU 3578 Greedy Tino(双塔DP)
    POJ 2609 Ferry Loading(双塔DP)
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛十六进制转换成十进制
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3846205.html
Copyright © 2011-2022 走看看