123问免费工具与知识服务
123问工具大全› 工具大全› 加密编码› 栅栏密码

🚧 栅栏密码

换位密码 · 之字形排列 · 可视化栅栏

栅栏排列示意图

栅栏密码常见问题

栅栏密码是什么?

栅栏密码(Rail Fence)是一种换位密码,把明文按"之字形"写到多条"栅栏"(行)上,再按行从上到下读出密文。比如"HELLO WORLD"用3行栅栏,会得到一段打乱顺序的字符。

栅栏密码安全吗?

不安全。它不替换任何字符,只是重排位置,行数是唯一的"密钥"且只有有限几种可能(试验2到10行即可),暴力破解非常容易。它属于换位密码而非替换密码。

加密和解密是同一个操作吗?

不是。加密时把明文填进栅栏再按行读出;解密需要知道明文长度和行数,才能还原每个字符原本的位置。本工具同时支持两者。

换位密码和替换密码有什么区别?

替换密码把每个字符换成另一个字符(如凯撒);换位密码不改字符本身,只改变字符的顺序。栅栏密码、列位移密码都属于换位密码,维吉尼亚、凯撒属于替换密码。

行数越多越安全吗?

行数越多,看起来越乱,但并没有本质提升——行数依然是有限整数,穷举成本始终很低。真正决定换位密码强度的是排列方式的复杂度,而栅栏的"之字形"太规律了。

空格和标点会被一起加密吗?

经典栅栏密码通常把空格也当作字符参与重排。本工具会保留空格位置一并参与加密,解密时也会还原。

什么场景会用到栅栏密码?

主要用于教学、谜题、密室逃脱和游戏里的隐藏线索。它演示了"换位"这一现代密码的重要思想,但不适合任何真实保密需求。

栅栏密码能加密中文吗?

可以。因为它是换位密码,不关心字符本身是什么,把每个汉字当作一个"字符"参与重排即可。本工具对任意字符都适用。

栅栏密码 - 示例演示

示例一:3行栅栏加密

输入:明文"HELLO WORLD",栅栏行数3
结果:密文为按3行之字形重排后的字符序列,空格一并参与
这是栅栏密码最经典的入门演示,可对照下方栅栏示意图理解。

示例二:2行栅栏

输入:明文"RAILFENCE",栅栏行数2
结果:2行时奇数位为一组、偶数位为一组,拼接成密文
2行栅栏是最简单的情况,本质是"奇偶分离",经常出现在谜题里。

示例三:解密还原

输入:把示例一的密文粘贴回输入框,行数仍选3,点击解密
结果:还原为"HELLO WORLD"
解密必须用与加密时相同的行数,行数不一致会得到乱码。

栅栏密码深度解读

栅栏密码为什么叫"换位"密码

栅栏密码不产生任何新字符,只重排明文字符的位置,所以叫"换位密码"(transposition)。

替换 vs 换位 对比
维度替换密码换位密码
改字符是,换成别的字符否,字符不变
改顺序否是,重排位置
例子凯撒、维吉尼亚、Atbash栅栏、列位移
频率特征保留原频率打乱顺序

现代密码往往同时结合"替换+换位"(混淆+扩散),AES就是这样做的。

之字形填写的规则

栅栏密码的核心是"之字形"路径:从第1行出发向下走到最底行,再反弹向上走到顶行,如此往复,把明文字符依次放入当前行。

  • 行数N表示有N条平行的"轨道"。
  • 字符沿轨道做折返运动,行号从0增到N-1再减回0。
  • 加密:按行从左到右读出所有字符。
  • 解密:先算出每个位置属于哪一行,再按行填回。

正是这条折返路径,让连续字符被分散到了不同的行。

如何破解栅栏密码

因为行数范围有限,破解思路很直接:

破解栅栏密码的思路
步骤做法
1 试探行数从2到10逐一行数尝试
2 解密用当前行数解密
3 判断看结果是否成可读英文
4 确认能读通即破解成功

加上可用词频、字母模式辅助判断,通常几秒内就能定位正确行数。

栅栏密码参考数据

不同行数对同一明文的影响

行数HELLO WORLD 加密结果特征
2行奇偶字符分离
3行经典之字形重排
5行更分散的重排
10行接近原顺序

换位密码家族

密码特点强度
栅栏密码之字形重排很弱
列位移密码按列读出较弱
置换方阵随机置换中等
现代分组密码中的置换配合替换强

使用说明

使用方法

1. 输入文本。

2. 选择栅栏行数(2-10)。

3. 点击加密查看密文。

4. 将密文粘贴后点击解密恢复原文。

5. 查看下方栅栏排列示意图。

分享工具: Facebook Twitter 微博 复制链接