Cryptography is the science and technology of coding messages so
that only the intended recipient can read them. Cryptanalysis, on the other
hand, is the science of breaking the codes. For this problem, assume you're
a cryptanalyst hired to break open a series of encrypted messages captured
in a police raid to the headquarters of the local mafia. Your colleagues
have already reverse engineered the encryption program (see crack.pas
or crack.c for the code), and the only thing left to do is to
reverse the algorithm and guess the key used to encrypt the files. Along
with the encrypted files, there are also some plaintext files that are
believed to originate from the same source as the encrypted files and thus
have similar structure in terms of language, word usage, etc.