WATAE TXLAL PDIBI MGTBU YBTMM FJBJW KBEIZ SGLZQ CCOCT XMQHM QSLFS
AOBFX QQRCK CJSME XFHLT GYSJN QEQUM FNPIZ ZMCWE PXQOD UIDLO SXLCV
CGIWI UIVYC HLYAE TKYKY RVOVZ FJWAR RCYCN SSJNN ADVZB BMQJQ UVGKC
UCPVN BGRZA EVOMF THBSK OZUYQ QDGUO FUIAT XOWPN QESJM MUHHU XBTMM
NYGYF YFNFH VIATB UOHPD QVJAT AEYLT MQTLE EXBTH MMYCT BDDAX
Determine what this cipher says, and the method of encryption, using the following hints:
- It is not a simple substitution cipher.
- Both the original plain text message and the encrypted message contain 270 characters (maybe with meaningless filler characters at the end).
- Only one rather simple method of encryption has been used.
- The encryption method is fairly robust. In other words, an error (while encrypting or decrypting) does not scramble the entire remaining message. Some very complicated ciphers have this problem.
- In the encrypted text, M and T appear most often, and R appears least often (I do not think these facts help at all).
- Both the original plain text and the encrypted message read from left to right.
- You might be able to guess the full text after determining only the first three words.
(In reply to
re: the actual decryption by SilverKnight)
The following program prints the encoded title; decodes the title; encodes the expected title; and decodes the body as presented:
DATA PGKKWXIMAFTNEGANFYGZTMUIV
DATA PREAMBLEOFOURCONSTITUTION
DATA WATAETXLALPDIBIMGTBUYBTMMFJBJWKBEIZSGLZQCCOCTXMQHMQSLFS
DATA AOBFXQQRCKCJSMEXFHLTGYSJNQEQUMFNPIZZMCWEPXQODUIDLOSXLCV
DATA CGIWIUIVYCHLYAETKYKYRVOVZFJWARRCYCNSSJNNADVZBBMQJQUVGKC
DATA UCPVNBGRZAEVOMFTHBSKOZUYQQDGUOFUIATXOWPNQESJMMUHHUXBTMM
DATA NYGYFYFNFHVIATBUOHPDQVJATAEYLTMQTLEEXBTHMMYCTBDDAX
CLS
'decode title
READ l$
PRINT l$
p$ = "A"
FOR i = 1 TO LEN(l$)
let$ = MID$(l$, i, 1)
ltr = ASC(let$) - ASC(p$) + ASC("A")
p$ = let$
IF ltr < ASC(\"A\") THEN ltr = ltr + 26
PRINT CHR$(ltr);
NEXT
PRINT
'encode title
READ l$
p$ = \"A\"
FOR i = 1 TO LEN(l$)
let$ = MID$(l$, i, 1)
ltr = ASC(let$) + ASC(p$) - ASC(\"A\")
IF ltr > ASC("Z") THEN ltr = ltr - 26
p$ = CHR$(ltr)
PRINT CHR$(ltr);
NEXT
PRINT
'decode body
p$ = "A"
DO
READ l$
FOR i = 1 TO LEN(l$)
let$ = MID$(l$, i, 1)
ltr = ASC(let$) - ASC(p$) + ASC("A")
p$ = let$
IF ltr < ASC(\"A\") THEN ltr = ltr + 26
PRINT CHR$(ltr);
NEXT
PRINT
LOOP
The result is
PGKKWXIMAFTNEGANFYGZTMUIV
PREAMBLEOFOURCUNSTITUTION
PGKKWXIMAFTNEGUHZSATNGOCP
WETHEPEOPLEOFTHEUNITEDSTATESINORDERTOFORMAMOREPERFECTUN
IONESTABLISHJUSTICEINSUREDOMESTICTRANQUILITYPROVIDEFORT
HECOMMONDEFENCEPROMOTETHEGENERALWELFAREANDSECALETHEBLES
SINGSOFLIBERTYTOOURSELVESANDOURPOSTERITYDOORDAINANDESTA
BLISHTHISCONSTITUTIONFORTHEUNITEDSTATESOFAMERICAXX
--------
the first line being the encrypted title as shown.
The second line shows its decryption, with CUNSTITUTION rather than CONSTITUTION. This in fact demonstrates the "robustness" of the code as defined by DJ.
The next line shows the encrypted version as it would be for CONSTITUTION.
The remainder shows the decryption of the body, where SECURE has come out SECALE.
|
Posted by Charlie
on 2003-12-10 09:02:17 |