title: shanghai
description: 2018 | 網鼎杯-第4場 | Crypto | shanghai
做題平台:ctfhub
題目考點
- 維吉利亞密碼
解題思路
題目描述:
下載附件解壓打開后獲得一個.txt文件:
大致瀏覽了一下,在文章接近末尾處存在文本 '{' vvj 'zvkvrmtudabiecveaaxpp' grq '}' ,那么很可能這個就是flag。
然后第一行"bju lcogx fisep vjf pyztj sdgh 13 gifc qsxw. pkiowxc"中的“13”引起了我的注意,由於題目描述為“shanghai”,於是我在搜索引擎中搜索“上海 13”。搜索結果第一條為“上海地鐵13號線(Shanghai Metro Line 13)”,其單詞長度剛好與密文符合,於是我第一直覺是字母替換的單表替換密碼。(啪的一下很快啊)打開quipqiup古典密碼自動化爆破(詞頻分析),輸入“sdgh=line”,但並沒有給出語句通順的結果。
看來不是詞頻分析,那還能是什么呢???於是開始百度關於文本的加密,在看了孳竹大佬寫的總結博客后,其中的“維吉尼亞密碼”引起了我的注意。所謂維吉尼亞密碼就是在維吉尼亞密碼表中,上邊欄為明文,左邊欄為密鑰,交叉處為密文。如明文為“V“,密鑰為”E”,那么密文就是“Z”(下圖來自維吉尼亞加密/解密 - Bugku CTF)。特別的,如果密鑰為多個字母,則在加密時一直重復即可。如明文為13位字母,密鑰為“CTF”,則加密過程中的密鑰選取為“CTFCTFCTFCTFC”。維吉尼亞密碼的解密過程同理。
在清楚它為維吉尼亞加密后,想要解密則需猜測出它的密鑰。由上可知“fisep vjf pyztj sdgh”可能對應“shang hai metro line”
密文:fisep vjf pyztj sdgh
密鑰:nbsrj ojx dugcv hvtd
明文:shang hai metro line
但是當我推出“密鑰”的那一刻我是懵的???這么多位了怎么密鑰還沒有重復???難道我又錯了?於是我將目光轉向了這一行
kxccxfkzcfcqi wymui zwbz cyiq ej e kcbxcregmfr ikt wg zlr wnmau qmue frxnimp 1914 qil 1940.
“frxnimp 1914 qil 1940”很像“between 1914 and 1940”,於是我又試着推了一下秘鑰,這次得到了“enereic qvi”沒錯,它竟然還沒有重復...(不過這次的單詞數比上回少,不會重復挺正常),抱着最后一絲希望我對文本做了一下詞頻統計(結果如下),其中“glv”是出現頻次最高的的組合,可以猜測它其實是“the”,那么對應密匙應該是“ner”!它竟然和“enereic qvi”重復了!!!
在盯着文本發呆了好一會之后,我看到了這個:"ma xyi 19bj szvzyec","kd opk 16xu gvrbwht"或許他們是“on/in the ??th century”?
orwquad mtxvvvpg dhjsk xui tmxjum ith cyspquxzl zlr xvgppylck ma xyi 19bj szvzyec, syb glzv keepziz, uehm yovpcil ehtxzeaeccavi xwapq stgiuyjvgpyc svmca opk gvtyiz kd opk 16xu gvrbwht.
由於前面的介詞不定我去除了前兩位,然后得到了“er eic qvigene”,“vig en ereicqv”
那么基本可以確定密匙的字母組成應該為“enereicqvig”,再考慮到這是維吉利亞密碼,維吉利亞英文為(vigenère),那么很可能密匙字母順序就是“vigenereicq”
將密文和密匙輸入Bugku CTF的維吉尼亞加密/解密在線工具后,終於得到了flag:
FLAG
flag{vigenereisveryeasyhuh}
作者:ta0tie(轉載請注明作者與來源)
歡迎大家批評指正
話說這道題明明和維吉尼亞有關它為什么叫shanghai???(╰(‵□′)╯︵┻━┻)