密码学(二)
1、凱撒部長的獎勵
密文:MSW{byly_Cm_sIol_lYqUlx_yhdIs_Cn_Wuymul_il_wuff_bcg_pCwnIl_cm_u_Yrwyffyhn_guh_cz_sio_quhn_ni_ayn_bcm_chzilguncihm_sio_wuh_dich_om}
看著挺兇的題,拿去解個密竟然就出來了;這里使用的是Bugku的工具,不得不說,真的很好用,嘿嘿。
flag:SYC{here_Is_yOur_rEwArd_enjOy_It_Caesar_or_call_him_vIctOr_is_a_Excellent_man_if_you_want_to_get_his_informations_you_can_join_us}
2、告訴你個秘密(ISCCCTF)
密文:
先來理性分析一波
查看給定的字符串中,字符只有A-F,并且字符串兩兩結(jié)合對應(yīng)的十進(jìn)制小于128(ASCII碼范圍為0–127)
將他們轉(zhuǎn)化為ascii對應(yīng)的字符
cjV5RyBscDlJIEJqTSB0RmhCVDZ1aCB5N2lKIFFzWiBiaE0g
2中得到的字符串,像是經(jīng)過了base64編碼,進(jìn)行解密得
r5yG lp9I BjM tFhBT6uh y7iJ QsZ bhM
看到這以空格分組的字符串,也懵逼了,到底啥意思呢,低頭對著鍵盤。
發(fā)現(xiàn)r5yg包著了t,以此類推得到tongyuan。(這是鍵盤加密)
小寫無法提交,使用大寫提交
代碼:
#coding:utf-8 import base64 strs="636A56355279427363446C4A49454A7154534230526D684356445A31614342354E326C4B4946467A5769426961453067" i = 0 strs_len = len(strs) chs=[] while(i < strs_len):chs.append(chr(int(strs[i:i+2],16)))i = i + 2 print("".join(chs)) print(base64.decodestring("".join(chs)))3、變異凱撒
加密密文:afZ_r9VYfScOeO_UL^RWUc
由題目中得知,這個密文的加密與凱撒解密有關(guān),那就先解下密;
但是解密內(nèi)容貌似并沒有我們想要的;那來分析下他們的ASCII碼吧
密文:afZ_r9VYfScOeO_UL^RWUc,看看能否與ctf 或者flag 對應(yīng)上,
可以發(fā)現(xiàn)規(guī)律a→f 移動了5 ; f→l移動了6, 后面依次移動了7、8。
知道了這些就可以寫腳本了:
運(yùn)行結(jié)果:
然后將這些ASCII碼轉(zhuǎn)換為字符串就好了;
flag{Caesar_variation}
4、傳統(tǒng)知識+古典密碼
小明某一天收到一封密信,信中寫了幾個不同的年份
辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。
信的背面還寫有“+甲子”,請解出這段密文。
key值:CTF{XXX}
額…這題感jio很有意思的亞子;這里的年份是天干地支紀(jì)年法,其中一個甲子是60年,百度下這些年份的,這里得到了一張應(yīng)該有用的信息:
對應(yīng)著這些年份:
辛卯:28
癸巳:30
丙戌:23
辛未:8
庚辰:17
癸酉:10
己卯:16
癸巳:30
題干中說信的背面還寫有“+甲子”,于是我們可以把每個數(shù)加上60即可
88,90,83,68,77,70,76,90
emmm…得到這些數(shù)字把它們轉(zhuǎn)化成ascii碼看看
沒有別的提示,只好去翻翻別人的blog ,才知道需要先柵欄解密,2位一欄,然后再凱撒解密。唉,我錯了,這題挺無聊的 ̄へ ̄
flag:CTF{SHUANGYU}
總結(jié)
- 上一篇: Bugku杂项(二)
- 下一篇: 实验吧--隐写术