栅栏密码解码器

通过手动指定栏数或自动暴力破解模式(尝试所有可能)解码栅栏密码。

解码
结果
Enter ciphertext to decode...
栏数:
3
暴力破解:

如何解码栅栏密码

栅栏密码解码器会逆向还原锯齿形编码过程。如果你知道使用的栏数,解码非常简单。如果不知道,暴力破解模式将尝试所有可能性,并对每个结果进行可读性评分。

手动解码(已知栏数)

当你知道密钥(栏数)时:

  1. 在输入框中输入密文
  2. 使用滑块设置栏数
  3. 解码后的明文将立即显示

暴力破解解码(未知栏数)

当栏数未知时:

  1. 输入密文
  2. 通过拨动开关启用暴力破解模式
  3. 解码器自动尝试所有栏数(2-20)
  4. 结果按英语语言相似度评分排序
  5. 得分最高的结果将被高亮显示为最佳匹配

理解评分

评分系统根据英语语言模式对解码文本进行评估:

  • 字母频率:字母分布与预期英语频率的吻合程度
  • 常见双字母组合:高频两字母对的出现情况(TH、HE、IN、ER 等)
  • 常见词汇:常用英语单词的识别度(the、and、to 等)
  • 可读性:单词和句子的长度规律

评分超过 60 表示高置信度,说明找到了正确的栏数。

成功解码的技巧

  • 转置线索:如果密文的字母分布与正常英语一致,则很可能是栅栏密码等换位密码
  • 消息长度:非常短的消息(少于 10 个字符)可能在多种栏数下均能解码,导致歧义
  • 无空格:如果原始编码去除了空格,解码后的文本也将缺少空格——将其作为连续字符串阅读
  • 结合上下文:利用任何可用的上下文(消息主题、预期格式、CTF 中的 flag 前缀)来识别正确结果

栅栏密码解码算法

解码算法的工作原理如下:

  1. 计算锯齿形模式:根据给定长度和栏数计算锯齿路径
  2. 统计每栏字符数:遍历锯齿模式,计算各栏的字符数量
  3. 将密文拆分为各栏片段:根据字符数将密文分割到对应栏
  4. 重建消息:按锯齿模式读取,从对应栏片段中依次取出字符

该过程是编码的精确逆过程,保证完美的往返还原。

相关工具