发表于 2020-4-9 11:06:13 | 发自安卓客户端 | 显示全部楼层
《S.忒修斯之船》第二章:双生子(the Drifing Twins)
    这章解密的手法是“playfair Cipher普莱费尔加密法”(书里本章解注二有暗示)

【以下挑重点看】   
普莱费尔密码(英文:Playfair cipher 或 Playfair square)是一种使用一个关键词方格来加密字符对的加密法,1854年由一位名叫查尔斯·惠斯通(Charles Wheatstone)的英国人发明。

编写分三步:1.编制密码表 2.整理明文 3.编写密文 构成部分:1.密钥 2.明文3.密文4.注明的某个字母代替的另一个字母

算法:
它依据一个5*5的正方形组成的密码表来编写,密码表里排列有25个字母。如果一种语言字母超过25个,可以去掉使用频率最少的一个。如,法语一般去掉w或k,德语则是把i和j合起来当成一个字母看待。英语中z使用最少,可以去掉它。

加密:
第一步是编制密码表。在这个5*5的密码表中,共有5行5列字母。第一列(或第一行)是密钥,其余按照字母顺序。密钥是一个单词或词组,若有重复字母,可将后面重复的字母去掉。当然也要把使用频率最少的字母去掉。如:密钥是Live and learn,去掉后则为liveandr。如果密钥过长可占用第二列或行。
同时字母I和J会被当成一个字母。

【以上来自百度,实际操作一下就没那么复杂了】

  ……以本章谜题为例 密钥就是章名:双生子=双子座=Gemini
     重复字母要去除所以取得密钥为“GEMIN”
     1.列5X5的表格 按字母表的顺序写入(注:一般来说I和J视为一个字母 所以去除I Q不常用也删去 EGMN已经包括在密钥Gemin中 删去)
【随手画了个图 参考方便一点】


     2.由章名双生子将密文(文中名字首字母)两两分组 得到:
     OH HU BW HA MG SY
     3.开始解密 注:这过程的规律与加密相反
    【参考上图表格】
    ①.如果密文1和密文2在同一行 且之间有相隔的话 就取密文左边的字母为明文 例如:密文B D 对应明文A C
    ②.如果密文在第一个 那将同行最后一个视为它的左面 例:密文A 对应明文F
    ③.如果两个密文不在同一行而在同一列 那么就去他们上方行的字母 例:密文A P 对应明文G H
    ④.如果两个密文不在同一行也不在同一列 那么以它们为对顶点做矩形 取另外两个对顶点为明文 例:密文为H S 对应明文为P K
【如图】

〔注意啦! 这是解密法 加密法相反!!〕
方法介绍完了
密文是:OH HU BW HA MG SY
可以自己试试解密(提示:答案需要去掉一个字母才能合理)


按顺序得到明文:LO OP ER AG EN TX

将多出来的X删去(如果明文是奇数 那就填充一个事前约定好的字母删去 虽然不知道为什么是X 但去掉这个才能得出合理的词组嘛)
得到解密答案:
                【Looper agent】
(有什么漏洞欢迎指正 蟹蟹)
本帖子中包含更多图片或附件资源

您需要 登录 才可以下载或查看,没有帐号?加入学院

| 发表于 2021-11-8 12:43:46 | 发自安卓客户端 | 显示全部楼层
感谢分享,似乎没有漏洞
1 | 发表于 2022-4-7 20:51:28 | 发自安卓客户端 | 显示全部楼层
感谢分享
| 发表于 2022-4-8 07:05:31 | 发自安卓客户端 | 显示全部楼层 发帖际遇
感谢分享
| 发表于 2022-4-8 09:23:19 | 发自安卓客户端 | 显示全部楼层 发帖际遇
感谢分享
| 发表于 2022-4-8 10:00:23 | 发自安卓客户端 | 显示全部楼层
三连了
| 发表于 2022-4-8 12:44:50 | 发自安卓客户端 | 显示全部楼层
感谢分享
| 发表于 2022-7-2 17:43:17 | 发自安卓客户端 | 显示全部楼层 发帖际遇
感谢分享
登录帐号可查看完整回帖内容
尚未登录
您需要登录后才可以回帖 登录 | 加入学院