置换密码

  • 置换密码指对明文字符在不改变其原型的基础上,按照密钥的指示规则,对明文字符进行位置移动的密码。置换密码打乱了明文字符之间的跟随关系,使得明文自身具有的结构规律得到破坏。
  • 缺点:
    • 明文字符形态不变
    • 一个密文字符的出现的次数也是该字符在明文中的出现次数
  • 一些方法:倒序置换、矩阵排列置换,给定密钥进行顺序矩阵置换

代替密码

代替密码是利用预先设计的代替规则,对明文逐字符或逐字符组进行代替的密码,代替密码的代替规则就是其秘钥。从广义上讲,由于所有的加密算法都是密文对明文的代替,因而都是代替密码。代替密码可以分为单表代替密码和多表代替密码。

单表代替密码

几种典型的简单代替密码

加法密码

乘法密码

仿射密码

  • 单表代替密码的优点
    • 明文字符得到了隐蔽
  • 单表代替密码的缺点
    • 如果明文字符相同,则密文字符也相同
    • 一个密文字符在密文中出现的频次,就是它对应的明文字符在明文中出现的频次
    • 明文字符之间的跟随关系直接反映在密文中

如果一个明文组能够被多个密文字符组代替,那么密文字符组的统计规律就可能变得更加均匀,从而更加安全,这就是多表代替密码的思想。

多表代替密码

Vigenre密码

  • 首先确定一个由字符组成的密钥,假如为endcat
  • 开始加密明文中的第一个字符,在明文索引方向上找到该字母。同时选取密钥中的第一个字符e,在密钥索引方向上找到该字母。最后通过十字交叉法找到vigenre方阵中的字符,即为加密字符。
  • 同理逐字符加密,如果密钥长度不够则循环处理。

转轮密码机Rotor Machine(Enigma为例)

Vernam密码


Melancholy.