凯撒密码升级 WriteUp

题目

凯撒密码升级
提取码:ius1


分析

打开压缩包,我们看到右侧给出了密钥。

根据\u00xx的模式,查出这个应该是Unicode编码。将其进行解码,得到密钥:hahaha 。

有密钥,而且还是凯撒密码的升级,在百度上搜索一番后,发现了符合条件的密码:维吉尼亚密码

解题

一. 维吉尼亚密码的规则

为了生成密码,使用了表格法。
表格包括了26行字母表,每一行都由前一行向左偏移一位得到。
具体使用哪一行字母表进行编译是基于密钥进行的,在过程中会不断地变换。

二.转换

文本中的信息是这样的:mlhg{Cineueye_jiwhlr_1z_Ad3s0te} 我们将密钥对上。
           haha{hahahaha_hahaha_1h_ah3a0ha}

这里我们需要跳过数字,因为维吉尼亚密码中不包含数字在内。
信息里面有大小写,推测是大写对应大写字母表格,小写对应小写字母表格。

a b c d e f g h i j k l m n o p q r s t u v w x y z
a A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
h H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

最终得到flag:flag{Vigenere_cipher_1s_Aw3s0me}


以下是我初次解题的思路

一.猜测

在未查出维吉尼亚密码的情况下,观察信息的格式,发现与flag极其相似。
mlhg解密之后应该是flag。

因此得到:m->f
     h->a

根据升级密码的雏形是凯撒密码,初步推测规则是字母表向前移动7位,而且是间位移动7位。

二.尝试

看到大小写都有,先想到了ASCII码。
但是ASCII码大写字母与小写字母之间存在其他符号,如果按照ASCII往前推,得到的结果很诡异,带上了符号。

于是推测是小写字母表与大写字母表相接的情况。
但是又发现这样的话小写字母会变成大写字母,在一个单词中突然出现一个大写字母很不正常,因此判断是大写字母对应大写字母表,小写字母对应小写字母表。

经过反复尝试,觉得应该跳过数字。
所以得出需要改动的是mlhg{Cineueye_jiwhlr_1z_Ad3s0te}
· · · · · · · · · · · · ·

在解码完Cineueye得到Vigenere时,我百度了一下,知道了这个升级密码的真身,也因此认定flag中都应该是单词组成。
后续jiwhlr的解码完成更是让我确信了我的(错误)推测。

此时得到的已经是flag{Vigenere_cipher_1s_Aw3s0me},但是考虑到英语单词的我,改成了flag{Vigenere_cipher_is_Awesome} 。
之后就是试图寻找 1->i,3->e,0->o 的关系,很显然,这是找不到的,与正确答案失之交臂。


提醒

flag的格式不拘泥于英语单词,是可以含有数字的。

posted @ 2021-01-09 15:18  Arctic_Maple  阅读(391)  评论(0)    收藏  举报