查看: 4187|回复: 8

[密码课] 栅栏密码

 
  • 打卡总天数:1

积分成就

用户组:管理员

书币:127395

推理币:771934

发表于 2019-6-24 10:29:52 | 显示全部楼层 |阅读模式
本密码源自于古老的Z字栅栏形状,这种栅栏,目前在英国等许多国家依然可以看到,
栅栏密码是一种非常简单且容易被破解的置换密码,它主要的加密原理是,将明文中的字母混合起来形成密文。
栅栏密码密码基本上没有什么安全性可言,很容易被破译。
虽然栅栏密码本身很弱,但它可以与其他密码组合一起使用,如替换密码,这比单独使用任何一种密码都更难破解。
下面是一个简单的例子:
栅栏密码的密钥就是栅栏的数量,这个数量决定了明文写成多少行。
在这个例子中,我们使用的栅栏数是3。
我们要加密的明文是:GeeksforGeeks
然后我们以“锯齿”形将明文写在栅栏上,如下:

204035e934pa2dphckhu2d.jpg

之后只需以行的方式,抄下字母,即为密文。
加密中的一些需要注意的地方,不建议在明文中使用空格,如果一定要加上空格,可以在写入栅栏上的时候用X代替,如果明文长度不够形成锯齿,也可以用X代替。
关于解密:
栅栏密码的解密过程包括重建用于加密明文使用的栅栏。
我们首先制作一个栅栏,栅栏的行数和密钥一样,然后我们将密文的第一个字母写入栅栏的左上角,然后依照锯齿形的路径,重新回到栅栏的第一行,在这个位置写入第二个密文字母,根据这个规律,在栅栏的第一行写完密文。
例如:
我们要解密密文:TEKOOHRACIRMNREATANFTETYTGHH
栅栏数量:4
我们先将第一个字母T写入栅栏左上角,然后用‘-’标示出路径,回到第一行栅栏,写入第二个字母E,根据这个规律继续填充最上面一行栅栏,如下图所示


然后,依照上面的规律,再次填充第二行:


继续填充第三行:


继续填充第四行:


现在,我们已经将所有密文写入了栅栏里面,接着只要以锯齿形的方式写下明文即可。
明文:theyareattackingfromthenorth
至此,我们就完成了整个解密的过程,当然,这个过程是建立在知道对方加密所使用的栅栏数量的前提下完成的。
如果不知道栅栏数量该怎么解密呢?
方法有两个:第一就是暴力分析,通过机器测算出栅栏数量的可能性,然后一个个试。如果你知道某个明文的字母,那就更简单了,基本上很容易就能找到栅栏数量。
第二个就是利用频率分析。因为包括栅栏密码在内的置换密码都有一个特点,就是字母的频率分布与英语文本的频率分布相同,(因为没有替换明文,只是打乱明文的顺序,形成密文),所以,只需要花一点时间,依然可以破解密文。

积分成就

用户组:超级侦探

书币:119

推理币:3419

发表于 2020-2-17 14:54:02 来自移动端 | 显示全部楼层
蓝大,知道明文的某个字母怎么破解

积分成就

用户组:推理之神

书币:46

推理币:30310

发表于 2020-3-2 10:12:45 来自移动端 | 显示全部楼层
有用

积分成就

用户组:超级侦探

书币:0

推理币:1559

发表于 2020-3-14 21:03:53 来自移动端 | 显示全部楼层
密码数+1

积分成就

用户组:推理之神

书币:46

推理币:30310

发表于 2020-3-18 13:07:56 来自移动端 | 显示全部楼层
访客  发表于 2020-3-18 15:12:31
sixsixsix

积分成就

用户组:推理之神

书币:22

推理币:19238

发表于 2020-6-24 18:08:04 来自移动端 | 显示全部楼层
挺简单的

积分成就

用户组:推理新星

书币:10

推理币:397

发表于 2020-8-27 23:27:31 来自移动端 | 显示全部楼层
以前学过忘了,复习复习

积分成就

用户组:通天干探

书币:221

推理币:13444

发表于 2020-11-3 19:21:57 来自移动端 | 显示全部楼层
懂了
返回列表 发新主题 回复
小黑屋| 隐私政策| 侵权投诉| 数字千年版权法(DMCA)| 切换繁体 |捐助本站
copyright 2019-2023 推理罪 All Rights Reserved