查看: 2506|回复: 1

[密码课] 诗歌代码(诗歌密码)

  • 打卡总天数:2

积分成就

用户组:管理员

书币:130179

推理币:775990

发表于 2019-6-26 13:21:53 | 显示全部楼层 |阅读模式
诗歌代码是一种简单的双重换位密码,最早出现在第二次世界大战期间,由英国特别行动处(SOE)率先使用,当时主要用来和纳粹占领区的负责人进行隐秘通信。
利用诗歌代码进行加密之前,发送方和接收方需事先约定好,使用哪一首诗歌来进行加密。
在加密时,发送方先从诗中随机选择一组单词,并给所选单词的每一个字母进行数字编码。然后,利用这些数字作为密钥,来加密明文。
当然,为了让接收方知道你选择的是哪些单词,在发送消息时,需要同时发送一定的暗示。
下面,举一个简单的例子:
我们将用下面这首诗歌来进行加密:
214432kffqwf7xqbfqw1f5_副本.jpg

之后,我们从上方的诗歌中选择一些单词作为密钥,这里我们选择了五个单词:
为了符合诗歌的长度,以及安全考虑,我们的明文必须至少要200个字母左右,同时去掉标点符号:
准备完毕,我们现在就开始加密吧。
首先,我们先将密钥的每一个字母编码成数字,编码的方式是根据26个字母表的顺序进行编码的,如果出现了相同的字母,就从左到右依次进行编号。
比如,我们选择的密钥中就有两个A,那么就编码成:


根据这个方法,完成所有密钥的编码:


然后,我们还需要准备一张表格,因为我们的密钥共有33个字母,所以表格需要33列,并将明文依序写在表格中,如下所示:


现在,关键时候到了,我们将对明文进行加密,我们先将密钥的数字编码(编码不改动顺序),写在明文表格的头部:


然后,我们根据数字的顺序(指1245....这个数字出现顺序),以列的方式,先后写出所有字母:


根据这个方法,写出所有字母,最终,我们的密文是:

开头我们已经知道,诗歌代码是一种简单的双重换位密码,所以,你猜对了:接下来我们还需要再次重复上面这个加密过程。
再次从诗歌中挑选五个不同的单词,然后再次把密文加密一次。
这里我们就跳过这一步骤,不再详述,因为加密过程是一样的。
完成双重换位之后,我们还需要在密文中加一些暗示,以便接收方知道我们使用了哪些单词作为密钥。
关于步,大家可以凭借自己的聪明才智,自由发挥,没有任何限制。
至于解密,如果我们事先知道密文是由哪一首诗歌和密钥加密的,那么解密的过程很简单,只需要反向操作即可得到明文。

积分成就

用户组:推理新星

书币:0

推理币:182

发表于 2020-2-19 14:34:15 来自移动端 | 显示全部楼层
就是米兹科夫斯基换位密码加密两次?
返回列表 发新主题 回复
小黑屋| 隐私政策| 侵权投诉| 数字千年版权法(DMCA)| 切换繁体 |捐助本站
copyright 2019-2023 推理罪 All Rights Reserved