buu [AFCTF2018]Single 1
题目描述:
Jmqrida rva Lfmz (JRL) eu m uqajemf seny xl enlxdomrexn uajiderc jxoqarerexnu. Rvada mda rvdaa jxooxn rcqau xl JRLu: Paxqmdyc,
Mrrmjs-Yalanja mny oekay.Paxqmdyc-urcfa JRLu vmu m jxiqfa xl giaurexnu (rmusu) en dmnza xl
jmrazxdeau. Lxd akmoqfa, Wab, Lxdanuej, Jdcqrx, Benmdc xd uxoarvenz
afua. Ramo jmn zmen uxoa qxenru lxd atadc uxftay rmus. Oxda qxenru lxd
oxda jxoqfejmray rmusu iuimffc. Rva nakr rmus en jvmen jmn ba xqanay
xnfc mlrad uxoa ramo uxfta qdatexiu rmus. Rvan rva zmoa reoa eu xtad
uio xl qxenru uvxwu cxi m JRL wenad. Lmoxiu akmoqfa xl uijv JRL eu
Yaljxn JRL gimfu.Waff, mrrmjs-yalanja eu mnxrvad enradaurenz seny xl jxoqarerexnu. Vada
atadc ramo vmu xwn narwxds(xd xnfc xna vxur) werv tifnmdmbfa uadtejau.
Cxid ramo vmu reoa lxd qmrjvenz cxid uadtejau mny yatafxqenz akqfxeru
iuimffc. Ux, rvan xdzmnehadu jxnnajru qmdrejeqmnru xl jxoqarerexn mny
rva wmdzmoa urmdru! Cxi uvxify qdxrajr xwn uadtejau lxd yalanja qxenru
mny vmjs xqqxnanru lxd mrrmjs qxenru. Veurxdejmffc rveu eu m ledur
rcqa xl JRLu, atadcbxyc snxwu mbxir YAL JXN JRL - uxoarvenz fesa m
Wxdfy Jiq xl mff xrvad jxoqarerexnu.Oekay jxoqarerexnu omc tmdc qxuuebfa lxdomru. Er omc ba uxoarvenz fesa
wmdzmoa werv uqajemf reoa lxd rmus-bmuay afaoanru (a.z. IJUB eJRL).JRL zmoau xlran rxijv xn omnc xrvad muqajru xl enlxdomrexn uajiderc:
jdcqrxzdmqvc, urazx, benmdc mnmfcueu, datadua anzanaadenz, oxbefa
uajiderc mny xrvadu. Zxxy ramou zanadmffc vmta urdxnz useffu mny
akqadeanja en mff rvaua euuiau.Iuimffc, lfmz eu uxoa urdenz xl dmnyxo ymrm xd rakr en uxoa lxdomr.
Akmoqfa mljrl{Xv_I_lxiny_er_neja_rDc}
#include <bits/stdc++.h>
using namespace std;
int main()
{freopen("Plain.txt","r",stdin);freopen("Cipher.txt","w",stdout);map<char, char> f;int arr[26];for(int i=0;i<26;++i){arr[i]=i;}random_shuffle(arr,arr+26);for(int i=0;i<26;++i){f['a'+i]='a'+arr[i];f['A'+i]='A'+arr[i];}char ch;while((ch=getchar())!=EOF){if(f.count(ch)){putchar(f[ch]);}else{putchar(ch);}}return 0;
}
题目分析:
- 跳过c语言代码,直接看密文,好家伙,得不出什么
- 对于这种,我们之前是有接触过的
- 一大串密文,有两种解密方式,一是:
不知密钥下破解维吉尼亚密码
二是:
词频分析法 - 两个都试下,即可得出最后flag
- flag{Oh_U_found_it_nice_tRy}
收获与体会:
- 这题和 buu 中 [AFCTF2018]Vigenère 1
好像,题目中都是一串字符串,一串c代码,所以就会想到用 不知密钥下破解维吉尼亚密码 - 而它们中都是代码无用,所以最终只需要看那串密文
- 在毫无头绪下解一大串密文我们又可以用到 词频分析法
- 总结:有大串密文,目前为止知道两种方法:
不知密钥下破解维吉尼亚密码
词频分析法