zoukankan      html  css  js  c++  java
  • 读书笔记一【加密——替换法】

    1.简单的替换法

    替换法即为将一个字(或字母)替换为另一个字(或字母),通过一张对应表进行加密或解密。

    例如,将每个字母替换为原先字母后面的一个字母

    【I'm a programmer】将被替换ASCII后面的字符为【J(n!b!qsphsbnnfs】

    简单的替换法会被【频率分析】方法攻击,例如英文中最常出现的字母为E,最常见的组合为TH;同理,中文中“的”字也是最常用的字。攻击者可以通过最常出现的字或字母反推对应表,从而破解密文。

    2.变化替换模式

    为了防止替换法被频率分析方法破解,可以对替换表格进行扩展,这种方法叫做【多表替换】。

    多表替换的一种形式叫做【tabularecta】,即为下图

    根据上表,不同明文与密钥对应的密文字母就不同

    例如明文是HELLO,密钥是CATCH

    那么密文第一个字母就是H行C列的J

    简单来说 就是密文第i个字母为表中行为明文第i字母,列为密钥第i个字母的那个值

    代码即为:密文[i]=表格[明文[i]][密钥[i]]

    3.替换法密钥扩展

    像上面的例子,每个字母只有5个被替换的可能性(密钥长度),所以加密要足够强,就必须要有一个与原文一样长的密钥。

    这种方法通常是使用某本书的某个章节来做,例如以莎士比亚作品为密码本,密钥为2.2.4.9

    则密码表为

    按字母表顺序第二个戏剧《As You Like It》,第二个2位该剧第二幕,4指其中第四个场景,9指其中第9句

    这种方法通常这电影里出现

  • 相关阅读:
    Silverlight分享一套企业开发主题
    [Silverlight]常见问题
    Silverlight开发工具汇总
    ExecuteNonQuery返回负数
    Silverlight客户端调用WCF服务难题解疑
    winform调用WCF默认实例
    WCF默认实例的解读
    Silverlight闹钟
    HelloSilverlight
    读取Word文档的标题
  • 原文地址:https://www.cnblogs.com/punkrocker/p/10351635.html
Copyright © 2011-2022 走看看