Rail Fence密码

Rail Fence密码

Rail Fence 这个也不是很难,跟脑筋急转弯难度类似,也是给各位活跃脑子用的

核心原理

这个密码加密步骤是分3步

  1. 确定铁轨数(密钥):首先要决定使用多少条“铁轨”(行数).我们把这个行数记为 key.例如,key = 3 就是 3 行栅栏
  2. “之”字形书写:将明文的字母按照“之”字形(或者说是波浪形)从上到下,再从下到上,依次填写到这些铁轨上
  3. 按行读取:从左到右,按顺序读取每一行上的字母,组合起来就是密文

其实非常非常简单,下面给个例子各位绝对懂了

手推算法

例子 => WE ARE DISCOVERED

  1. 确定密钥是什么,我们这例子是3
  2. 开始进行计算(按“之”字形书写明文)
    • 我们从左上角开始:
      1. 向下移动:将字母放在第一行、第二行、第三行。
      2. 向右上移动:当到达底部后,改变方向,将字母放在第二行、第一行。
      3. 如此循环
    • 让我们一步步来推算
      1. W -> 第1行
      2. E -> 第2行
      3. A -> 第3行 (现在我们在底部,方向改为“右上”)
      4. R -> 第2行
      5. E -> 第1行 (现在我们在顶部,方向改为“右下”)
      6. D -> 第2行
      7. I -> 第3行 (底部,方向改为“右上”)
      8. S -> 第2行
      9. C -> 第1行 (顶部,方向改为“右下”)
      10. O -> 第2行
      11. V -> 第3行 (底部,方向改为“右上”)
      12. E -> 第2行
      13. R -> 第1行 (顶部,方向改为“右下”)
      14. E -> 第2行
      15. D -> 第3行
    • 现在,我们三条铁轨上的字母分别是:
      第1行: W, E, C, R
      第2行: E, R, D, S, O, E, E
      第3行: A, I, V, D
    • 所以,最终的密文是:WECR ERDSOEE AIVD(通常我们会连在一起写成 WECRERDSOEEAIVD)

总结

优点:非常简单,易于理解和手工操作

缺点:非常不安全.对于较短的文本,可以通过肉眼观察或尝试所有可能的行数(从2到明文长度的一半)来轻松破解.它几乎不提供任何真正的密码学安全性

变种:有一种更简单的“栅栏密码”,只是简单地将明文分成两组,然后交错组合.例如 WEAREDISCOVERED -> WAEICVRD + ERDSOEE -> WAEICVRDERDSOEE,我们通常所说的 Rail Fence Cipher 指的是上面介绍的“之”字形版本

这个密码非常简单的,也就是脑机能急转弯的强度,希望我这个博客让各位看懂