跳到主要内容

7.2 替代加密和置换加密

7.2.1 替代加密

替代加密(Substitution Cipher) 指将明文中每一种字符都替换为另一个字符的加密方式。

例如:将文本中所有的 A 替换为 E、B 替换为 D...以此类推。

替代加密方式简单易懂,但如果攻击者可使用频率分析等手段,可能会较为容易的破解。

相关词条:

  • 频率分析

    频率分析是一种用于破解替代加密(特别是简单替代加密)的方法,通过分析加密文本中各个字符出现的频率来推测明文。

    具体的,在任何语言中,某些字母或字符出现的概率是有规律的,例如在英语中,字母 E、T、A、O 都是常见字母。替代加密通过其他字符来替换源字符来隐藏信息,而攻击者只需要识别加密文本中字符的频率分布,就能判断出哪些字符可能对应文本中的高频字符。

7.2.2 置换加密

置换加密(Transposition Cipher) 指按一定规律打乱明文中字符的顺序的加密方法。

常见方法:

  • 列式置换(Columnar Transposition)

    1. 将明文写入一个矩阵,按列读取字符进行加密。

      例如,将明文“HELLO WORLD”填入以下矩阵:

      H E L L O
      W O R L D
    2. 然后按照某种顺序读取列,例如列的顺序为 3, 1, 4, 2, 5,生成密文:LRHWLLEOOD

  • 行置换(Row Transposition)

    先将明文分成固定长度的行,然后重新排列这些行的顺序。

置换加密由于并不依靠替换原有字符实现加密,因此此方法对频率分析具有一定抵抗力。但如果攻击者已知一些明文和对应密文,就可以通过对比等方式来推测加密规则。

随着科技的发展,对这种方法使用暴力破解变得越来越容易,因此这种加密方式不再单独使用,而与其他加密方式混合使用。