2014.picoCTF 4번문제 Caesar - 20
2017. 3. 28. 20:204. Caesar - 20
You find an encrypted message written on the documents. Can you decrypt it?
encrypted.txt
정답 :
thesecretpassphraseislngextehrtttjmatpqklekfgxirtwn
풀이 :
문제는
"넌 문서안에 암호화된 메세지를 찾았다. 풀수있냐"
encrypted.txt 파일을 열면
espdpncpealddascldptdfvaaychcjplgrehtnqxycvmykpblhr
를 볼 수 있다.
먼저 이 문제의 제목 Caesar암호에 대해서 알필요가있다.
검색해보면 Cassar암호는 알파벳 순서를 1씩 쉬프트하여 암호화하는 것이다
예를들어
'abc' 라는 메세지는 쉬프트 값이 1이면 'bcd' 이다.
여기서
'abc'는 메세지
'bcd'는 암호화된 메세지이다.
그렇다면
'espdpncpealddascldptdfvaaychcjplgrehtnqxycvmykpblhr'
는 암호화된 메세지이므로
각 문자를 하나씩 쉬프트해서 이동해보면 무슨 의미인지 알것이다.
0위치 쉬프트 : cqnbnlancyjbbyqajbnrbuwpngcnqacccsvjcyztuntopgracfw
1위치 쉬프트 : drocombodzkcczrbkcoscvxqohdorbdddtwkdzauvoupqhsbdgx
2위치 쉬프트 : espdpncpealddascldptdwyrpiepsceeeuxleabvwpvqritcehy
3위치 쉬프트 : ftqeqodqfbmeebtdmequexzsqjfqtdfffvymfbcwxqwrsjudfiz
4위치 쉬프트 : gurfrpergcnffcuenfrvfyatrkgruegggwzngcdxyrxstkvegja
5위치 쉬프트 : hvsgsqfshdoggdvfogswgzbuslhsvfhhhxaohdeyzsytulwfhkb
6위치 쉬프트 : iwthtrgtiephhewgphtxhacvtmitwgiiiybpiefzatzuvmxgilc
7위치 쉬프트 : jxuiushujfqiifxhqiuyibdwunjuxhjjjzcqjfgabuavwnyhjmd
8위치 쉬프트 : kyvjvtivkgrjjgyirjvzjcexvokvyikkkadrkghbcvbwxozikne
9위치 쉬프트 : lzwkwujwlhskkhzjskwakdfywplwzjlllbeslhicdwcxypajlof
10위치 쉬프트 : maxlxvkxmitlliaktlxblegzxqmxakmmmcftmijdexdyzqbkmpg
11위치 쉬프트 : nbymywlynjummjblumycmfhayrnyblnnndgunjkefyezarclnqh
12위치 쉬프트 : ocznzxmzokvnnkcmvnzdngibzsozcmoooehvoklfgzfabsdmori
13위치 쉬프트 : pdaoaynaplwooldnwoaeohjcatpadnpppfiwplmghagbctenpsj
14위치 쉬프트 : qebpbzobqmxppmeoxpbfpikdbuqbeoqqqgjxqmnhibhcdufoqtk
15위치 쉬프트 : rfcqcapcrnyqqnfpyqcgqjlecvrcfprrrhkyrnoijcidevgprul
16위치 쉬프트 : sgdrdbqdsozrrogqzrdhrkmfdwsdgqsssilzsopjkdjefwhqsvm
17위치 쉬프트 : thesecretpassphraseislngextehrtttjmatpqklekfgxirtwn
18위치 쉬프트 : uiftfdsfuqbttqisbtfjtmohfyufisuuuknbuqrlmflghyjsuxo
20위치 쉬프트 : vjgugetgvrcuurjtcugkunpigzvgjtvvvlocvrsmngmhizktvyp
21위치 쉬프트 : wkhvhfuhwsdvvskudvhlvoqjhawhkuwwwmpdwstnohnijaluwzq
22위치 쉬프트 : xliwigvixtewwtlvewimwprkibxilvxxxnqextuopiojkbmvxar
23위치 쉬프트 : ymjxjhwjyufxxumwfxjnxqsljcyjmwyyyorfyuvpqjpklcnwybs
24위치 쉬프트 : znkykixkzvgyyvnxgykoyrtmkdzknxzzzpsgzvwqrkqlmdoxzct
25위치 쉬프트 : aolzljylawhzzwoyhzlpzsunlealoyaaaqthawxrslrmnepyadu
the secret pass phrase is lngextehrtttjmatpqklekfgxirtwn
정답이다.
파이썬으로 짠 소스코드는 다음과 같다
encof = open('encoded.txt','r')decof = open('decoded.txt','w')encoStr = encof.read()#1for i in range(0, 25):#2for j in range(0,len(encoStr)):asci = ord(encoStr[j]) + i;if (asci > ord('z')) :ch = chr( asci + ord('a') - ord('z') - 1 )else:ch = chr( ord(encoStr[j]) + i)decof.write(ch)decof.write('\n\n')단어 정리: x
'해킹보안' 카테고리의 다른 글
[네트워크용어]PDN (0) | 2020.12.01 |
---|---|
[미완성] IPsec, IKE 등등 (0) | 2020.05.20 |
qwe (0) | 2020.05.15 |
Network 용어 (0) | 2020.04.24 |
2014.picoCTF 1번문제 Tyrannosaurus Hex - 10 (0) | 2017.03.24 |