Marcin Kubica
Tłumaczenie


Crack the Code


Kryptografia zajmuje się kodowaniem informacji w taki sposób, że tylko uprawniony odbiorca jest w stanie odczytać zakodowany tekst. Z kolei kryptoanaliza zajmuje się łamaniem kodów.

Załóż, że jesteś właśnie kryptoanalitykiem, a Twoim zadaniem jest odczytanie kilku zaszyfrowanych wiadomości przechwyconych przez policję w lokalu mafii.

Twoi koledzy już uzyskali program szyfrujący używany przez mafię. Jego tekst znajduje się w plikach crack.pas i crack.c. To co zostało do zrobienia, to odwrócić algorytm szyfrujący i odgadnąć klucze użyte do zakodowania danych.

Wraz z zaszyfrowanymi wiadomościami masz dostęp do kilku próbek tekstu niezaszyfrowanego, pochodzącego z tego samego źródła, co zakodowane wiadomości i - jak można przypuszczać - mającego podobną strukturę co do użytego języka, zasobu słów itp.

Zadanie

Twoje zadanie polega na odkodowaniu zaszyfrowanych wiadomości i zapamiętaniu ich w określonych plikach. Nie musisz dostarczać żadnego programu. Wystarczy, jeśli zapiszesz odkodowane teksty.

Wejście

Dysponujesz kilkoma zestawami danych. Jeden zestaw składa się z plików cran.*, gdzie n jest numerem zestawu. Każdy zestaw składa się z plików:

Wyjście

Dla każdej zaszyfrowanej wiadomości cra*.in, powienieneś utworzyć plik cra*.out z odszyfrowaną wiadomością.