Przejdź


Jak złamać szyfr fbi

30 Gru 2008 @ 11:25:29 groszek 11 komentarzy

Trafiłem dziś na stronkę fbi gdzie można spróbować swoich sił w kryptografii. I udało mi się pokonać ten ich „szyfr” :)

Zaczynamy mając takie coś:


vfwtdlcswv. yd
nslmijfwejfd gsw sl
nijnqblm fobv ejfdvf
dlnigtfbsl. kbvbf
yyy.ahb.msk/nscdc.ofz
fs edf wv qlsy sa
gswi vwnndvv.

I za moment pokażę wszystkim jak to najłatwiej rozwiązać, bez żadnych super narzędzi. Zwykłym notatnikiem :)

Po pierwsze, ciąg yyy.ahb.msk/nscdc.ofz wygląda jak adres strony. 3 litery, kropka, 3 litery, kropka, 3 litery. Pierwsze 3 litery są takie same (choć w kryptografii to nie jest żadna reguła, aż się dziwię że to zadziałało). Cóż to może być jeśli nie www.fbi.gov?

Najpierw musimy nieco przygotować plik źródłowy. Wklej go do notatnika i każdą literę poprzedź jakimś znakiem, na przykład wykrzyknikiem. Będzie to niezbędne przy zamianach, żeby nie popsuć sobie źródła.

Mamy więc


!v!f!w!t!d!l!c!s!w!v. !y!d
!n!s!l!m!i!j!f!w!e!j!f!d !g!s!w !s!l
!n!i!j!n!q!b!l!m !f!o!b!v !e!j!f!d!v!f
!d!l!n!i!g!t!f!b!s!l. !k!b!v!b!f
!y!y!y.!a!h!b.!m!s!k/!n!s!c!d!c.!o!f!z
!f!s !e!d!f !w!v !q!l!s!y !s!a
!g!s!w!i !v!w!n!n!d!v!v.

Teraz robimy zamianę – wszystkie !y należy zastąpić w. Co dostajemy? Ano to:


!v!f!w!t!d!l!c!s!w!v. w!d
!n!s!l!m!i!j!f!w!e!j!f!d !g!s!w !s!l
!n!i!j!n!q!b!l!m !f!o!b!v !e!j!f!d!v!f
!d!l!n!i!g!t!f!b!s!l. !k!b!v!b!f
www.!a!h!b.!m!s!k/!n!s!c!d!c.!o!f!z
!f!s !e!d!f !w!v !q!l!sw !s!a
!g!s!w!i !v!w!n!n!d!v!v.

Można zauważyć że jeszcze kilka liter się zmieniło – to dobrze. Możemy przyjąć, że wszystkie litery przy których nie ma wykrzyknika są już „prawdziwe”.
Podobnie należy zamienić !a, !h, !b, !m, !s, !k by powstał tam adres www.fbi.gov.


!v!f!w!t!d!l!co!w!v. w!d
!no!lg!i!j!f!w!e!j!f!d !go!w o!l
!n!i!j!n!qi!lg !f!oi!v !e!j!f!d!v!f
!d!l!n!i!g!t!fio!l. vi!vi!f
www.fbi.gov/!no!c!d!c.!o!f!z
!fo !e!d!f !w!v !q!low of
!go!w!i !v!w!n!n!d!v!v.

Co dalej widzimy? Po slashu przy adresie jest jakiś plik. Możemy chyba przyjąć że będzie tam „htm”, prawda? A więc otrzymujemy


!vt!w!t!d!l!co!w!v. w!d
!no!lg!i!jt!w!e!jt!d !go!w o!l
!n!i!j!n!qi!lg thi!v !e!jt!d!vt
!d!l!n!i!g!ttio!l. vi!vit
www.fbi.gov/!no!c!d!c.htm
to !e!dt !w!v !q!low of
!go!w!i !v!w!n!n!d!v!v.

Coraz lepiej, trzeba przyznać. Teraz proponuję sprawdzić angielski słownik w poszukiwaniu odpowiedniego ciągu liter, słowo !no!lg!i!jt!w!e!jt!d jest długie i ma już odkrytych kilka liter. Przy moim prostym słowniku daje to:


# grep -e '.o.g..t...t.' Wordlist.txt
conglutinate
congratulate
congratulatory
noncongratulatory
precongratulate
precongratulation
recongratulate
recongratulation
unconglutinated
uncongratulate
uncongratulated
uncongratulating

Oczywiście słowo ma określoną ilość liter – od razu odrzucamy te które mają inną długość niż 12:


conglutinate
congratulate

Zostają dwa… myślę że to drugie :P Zamieniamy więc!


!vtu!ten!cou!v. we
congratulate !gou on
crac!qing thi!v late!vt
encr!g!ttion. vi!vit
www.fbi.gov/co!ce!c.htm
to let u!v !qnow of
!gour !vucce!v!v.

Już teraz, gołym okiem można poznać co należy pozamieniać na co. Cały szyfr się idealnie złożył i ułożył. Gratulacje! Właśnie złamałeś szyfr FBI, teraz jesteś poszukiwanym terrorystą ;)

Proste, prawda? Jeśli ktoś chce trudny szyfr, to niech lepiej zobaczy "co ja przygotowałem":http://crypto.nomicon.pl/ :)


Komentarze:

30 Gru 2008 @ 11:51:29 error777

Ciekawe…od kiedy to „grep” jako „notatnik” robi?

30 Gru 2008 @ 11:52:26 puppy

Możesz ręcznie wertować słownik, a takie czepianie się słówek jest złe :P

30 Gru 2008 @ 11:53:32 error777

puppy: „czepianie się słówek jest złe”... szczególnie w kryptografii :-D

30 Gru 2008 @ 12:27:13 Grzegorz

Szkoda, że tą metodą nie rozszyfrujesz nie tylko bardziej skomplikowanego szyfru, ale nawet dłuższej notki zaszyfrowanej w ten sposób.

30 Gru 2008 @ 12:55:02 D4rky

pfff, szyfr polegajacy na podmianie, po FBI spodziewalem sie czegos wiecej. rownie dobrze mogles sie podniecac, ze zlamales szyfr cezara :|

30 Gru 2008 @ 13:07:51 puppy

Grzegorz: Niezależnie jak długa będzie notka, nie będzie to wymagało więcej kombinacji niż ilość występujących liter. Robimy zamianę na całym tekście. Jeśli ktoś stosuję tę metodę to tak samo dobrze będzie działała przy krótkich i długich tekstach. Oczywiście tych wykrzykników ręcznie nie wstawiamy, tylko z automatu.

D4rky: Skoro taki jesteś kozak, to zobacz ostatni akapit, może tobie się uda choć jedno zadanie rozwiązać :) oh czekaj, przecież już coś o nich mówiłeś, jak to było? Potrafiłbyś tylko bejsbolem złamać te szyfry? :)
(a poza tym: polecam detektor ironii, do kupienia na allegro)

30 Gru 2008 @ 13:38:52 Zen Vantalye

Przy dłuższych notkach może być nawet łatwiej ponieważ można skorzystać z częstości występowania danej litery i z zaimków albo,lub,ponieważ które występują często i program można by nauczyć nawet tego bo może on mieć słownik z odmianami słowa tylko że przy nazwach własnych soft który sprawdza czy może być dane słowo i czy będzie gdzie indziej pasowało.

„Gratuluję”

30 Gru 2008 @ 13:48:03 Piotr Konieczny

Dla lepszej czytelności proponowałbym, zgodnie z kodeksem pracy kryptoanalityka, stosować standardowe przedstawienie alfabetu jawnego i tajnego, odpowiednio jako małych i dużych liter ;-) Wykrzykniki IMHO strasznie psują jasność ćwiczenia.

30 Gru 2008 @ 14:48:05 Zal

Prawie, jak szyfr Cezara :P Ale jako zachęta dla początkujących może być – sukces motywuje ;]

30 Gru 2008 @ 22:40:47 AtoMan

„Po slashu przy adresie jest jakiś plik. Możemy chyba przyjąć że będzie tam „htm”, prawda?”

Nie, możnaby równie dobrze przyjąć cgi, lub png/jpg/gif :P

30 Gru 2008 @ 22:41:51 puppy

A tak, to oczywiste. Tyle że patrzyłem wcześniej (ty pewnie też jako potencjalny łamacz ;)) na ich stronę, większośc linków to .htm. Zatem jako pierwsze sprawdziliśmy wersje z .htm. I zadziałało!

Pierdol licencje, kopiuj na zdrowie!