密码必须至少为6个字符_【每日一题】| 常见的编码方式之栅栏密码

CTF_密码学栅栏密码点击上方蓝字 发现更多精彩6fe72f9f28846daffee0aa3c24fbf6d6.png01简介

栅栏密码(Rail-fence Cipher)就是把要加密的明文分成N个一组,然后把每组的第1个字符组合,每组第2个字符组合…每组的第N(最后一个分组可能不足N个)个字符组合,最后把他们全部连接起来就是密文

02加密步骤

我们以“I LOVE CTF”为例进行n=2的栅栏加密:

① 去掉空格,得到ILOVECTF.

② 因为n=2,所以我们以两个字母为一组,总共分成4组得到IL OV EC TF

③ 依次读取每组的第一个字母:IOET。完成后,再读取每组第二个字母:LVCF

④ 最后把这两列新得到的字符串组合在一起即完成加密:IOETLVCF

我们再以"Through love comes calm and through calm comes thought"进行n=5的加密:

首先去掉空格和逗号,然后依次以5个为一行可得下方阵列:

t    h    r    o    u

g    h    l    o    v

e    c    o    m    e

s    c    a    l    m

a    n    d    t    h

r    o    u    g    h

c    a    l    m    c

d    m    e    s    t

h    o    u    g    h

t

注意:由于分组的原因,最后一行只有第一列有字母为T,后四列为空。

然后我们依次读取第一列到第五列的字母,然后重新组合即完成加密。

密文:tgesarcohthhccnoamorloaduleuoomltgmsguvemhhcth

03解密步骤

通过以上两个例子,想必你已经掌握了栅栏密码的加密原理,所以我们可以通过逆推得到根据一串密文去还原原文的方法

以"hltodeofrlcwl"(n=3)为例进行解密:

首先要还原为原文的加密阵列,还原时把密文依次按列来放置即可。一共有13个字母,13/3=4...1 可见要构建一个3列5行的阵列。

但是注意,我们发现还余1,说明原文(也是13个字母)在进行加密时,最后一行只有第一列是有字母的,最后一行后几列都为空,所以我们在还原原文的加密阵列时,第一列要有5个字母,往后的几列只要4个字母即可。如下图所示:

4f2907312ef6adf870314ec263bf4d32.png

所以可得原文:helloctfworld

如果不想这么麻烦:这个网站满足你:https://www.qqxiuzi.cn/bianma/zhalanmima.php

04每日一题

小鱼:来吧!!!下一个灯谜:

请解密wcemteojcflmnc,n=3.

提交形式:flag{...}

先在草稿纸上做一遍,再用网站哦!!!

5b32abbff234da4e3a814bc4d146f1e0.png6fe72f9f28846daffee0aa3c24fbf6d6.pngCTF欢迎你!!!长按识别关注我们。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部