Rail Fence密码
这个也不是很难,跟脑筋急转弯难度类似,也是给各位活跃脑子用的
核心原理
这个密码加密步骤是分3步
- 确定铁轨数(密钥):首先要决定使用多少条“铁轨”(行数).我们把这个行数记为 key.例如,key = 3 就是 3 行栅栏
- “之”字形书写:将明文的字母按照“之”字形(或者说是波浪形)从上到下,再从下到上,依次填写到这些铁轨上
- 按行读取:从左到右,按顺序读取每一行上的字母,组合起来就是密文
其实非常非常简单,下面给个例子各位绝对懂了
手推算法
例子 => WE ARE DISCOVERED
- 确定密钥是什么,我们这例子是
3 - 开始进行计算(按“之”字形书写明文)
- 我们从左上角开始:
- 向下移动:将字母放在第一行、第二行、第三行。
- 向右上移动:当到达底部后,改变方向,将字母放在第二行、第一行。
- 如此循环
- 让我们一步步来推算
- W -> 第1行
- E -> 第2行
- A -> 第3行 (现在我们在底部,方向改为“右上”)
- R -> 第2行
- E -> 第1行 (现在我们在顶部,方向改为“右下”)
- D -> 第2行
- I -> 第3行 (底部,方向改为“右上”)
- S -> 第2行
- C -> 第1行 (顶部,方向改为“右下”)
- O -> 第2行
- V -> 第3行 (底部,方向改为“右上”)
- E -> 第2行
- R -> 第1行 (顶部,方向改为“右下”)
- E -> 第2行
- 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 指的是上面介绍的“之”字形版本
这个密码非常简单的,也就是脑机能急转弯的强度,希望我这个博客让各位看懂