{VERSION 2 3 "SUN SPARC SOLARIS" "2.3" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Helvetica " 1 14 0 0 0 0 2 1 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "R3 Font 2" -1 257 1 {CSTYLE "" -1 -1 "Courier" 1 14 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "read `crypt.mpl`;" } }{PARA 7 "" 1 "" {TEXT -1 32 "Warning, new definition for norm" }} {PARA 7 "" 1 "" {TEXT -1 33 "Warning, new definition for trace" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 14 "Keyword cipher" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 90 "msg:=`MDTAQBQRDUIBDIVFBFRHZDDZRWCKCQMGQMXZWXCKGZBZN CQMRPRQMACKZRPQCZNCQDAMZCZROKNQABTMOQ`;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$msgG%]pMDTAQBQRDUIBDIVFBFRHZDDZRWCKCQMGQMXZWXCKGZBZNCQMRPRQMA CKZRPQCZNCQDAMZCZROKNQABTMOQG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "sortfreq(msg);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'MATRIXG6#7$ 7<%\"QG%\"ZG%\"CG%\"RG%\"MG%\"DG%\"BG%\"KG%\"AG%\"NG%\"XG%\"WG%\"TG%\" PG%\"OG%\"IG%\"GG%\"FG%\"VG%\"UG%\"HG%\"YG%\"SG%\"LG%\"JG%\"EG7<\"#5\" \"*\"\")\"\"(FF\"\"'\"\"&\"\"%FI\"\"$\"\"#FKFKFKFKFKFKFK\"\"\"FLFL\"\" !FMFMFMFM" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 59 "The frequency chart \+ suggests that plain E goes to cipher Q." }}{PARA 0 "" 0 "" {TEXT -1 60 "Lets start out first with the corresponding additive cipher." }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "keyw:=`MNOPQRSTUVWXYZABCDEFGHIJKL`; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%keywG%;MNOPQRSTUVWXYZABCDEFGHIJ KLG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "monodecode(msg,keyw) ;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#%]pARHOEPEFRIWPRWJTPTFVNRRNFKQYQE AUEALNKLQYUNPNBQEAFDFEAOQYNFDEQNBQEROANQNFCYBEOPHACEG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "analyze(msg,keyw);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'MATRIXG6#7%7=%&plainG%\"EG%\"NG%\"QG%\"FG%\"AG% \"RG%\"PG%\"YG%\"OG%\"BG%\"LG%\"KG%\"HG%\"DG%\"CG%\"WG%\"UG%\"TG%\"JG% \"IG%\"VG%\"MG%\"GG%\"ZG%\"XG%\"SG7=%'cipherGF+F@F7F.F>F6F2F4F-F*FAF8F :F/F1F " 0 "" {MPLTEXT 1 0 35 "keyw:=`MNOPQVWXYZRSTUABCDE FGHIJKL`;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%keywG%;MNOPQVWXYZRSTUA BCDEFGHIJKLG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "monodecode( msg,keyw);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#%]pARMOEPEKRNWPRWFTPTKVJ RRJKGQYQEAUEAHJGHQYUJPJBQEAKDKEAOQYJKDEQJBQEROAJQJKCYBEOPMACEG" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "analyze(msg,keyw);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'MATRIXG6#7%7=%&plainG%\"EG%\"JG%\"QG%\"KG %\"AG%\"RG%\"PG%\"YG%\"OG%\"BG%\"HG%\"GG%\"MG%\"DG%\"CG%\"WG%\"UG%\"TG %\"FG%\"NG%\"VG%\"IG%\"LG%\"ZG%\"XG%\"SG7=%'cipherGF+F@F7F.F5F6F2F,F-F F4F;F=F9F3F0FBF?F*F)7=%%freqG\"#5\"\"*\"\")\"\"(FJ\"\"'\" \"&\"\"%FM\"\"$\"\"#FOFOFOFOFOFOFO\"\"\"FPFP\"\"!FQFQFQFQ" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 98 "We see now J, Q, K are all translated as \+ frequent letters. That suggests something wrong with the " }}{PARA 0 " " 0 "" {TEXT -1 110 "part QVWXYZ in the cipher. Maybe Y occurs in th e keyword (it's a fairly common letter). Switch it to after " }} {PARA 0 "" 0 "" {TEXT -1 87 "RSTU. So the \"keyword part\" is between \+ the Z and the A probably and now includes RSTUY." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "keyw:=`MNOPQVWXZRSTUYABCDEFGHIJKL`;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%keywG%;MNOPQVWXZRSTUYABCDEFGHIJKLG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "monodecode(msg,keyw);" }}{PARA 12 " " 1 "" {XPPMATH 20 "6#%]pARLOEPEJRMWPRWFTPTJVIRRIJGQYQEAUEAHIGHQYUIPIB QEAJDJEAOQYIJDEQIBQEROAIQIJCYBEOPLACEG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "analyze(msg,keyw);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #-%'MATRIXG6#7%7=%&plainG%\"EG%\"IG%\"QG%\"JG%\"AG%\"RG%\"PG%\"YG%\"OG %\"BG%\"HG%\"GG%\"LG%\"DG%\"CG%\"WG%\"UG%\"TG%\"FG%\"MG%\"VG%\"NG%\"KG %\"ZG%\"XG%\"SG7=%'cipherGF+F@F7F.FFAF8F:F/F1F*F4F;F=F9F3F0 FBF5F,F)7=%%freqG\"#5\"\"*\"\")\"\"(FJ\"\"'\"\"&\"\"%FM\"\"$\"\"#FOFOF OFOFOFOFO\"\"\"FPFP\"\"!FQFQFQFQ" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 109 "Now we see some words appearing \"HIGH\" and \"PLACE\" maybe. J \+ should occur 0 times, but it is translated as R." }}{PARA 0 "" 0 "" {TEXT -1 43 "Note that S occurs 0 times. Switch S and R." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "keyw:=`MNOPQVWXZSRTUYABCDEFGHIJKL`;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%keywG%;MNOPQVWXZSRTUYABCDEFGHIJKLG" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "monodecode(msg,keyw);" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#%]pARLOEPEKRMWPRWFTPTKVIRRIKGQYQEAUEAH IGHQYUIPIBQEAKDKEAOQYIKDEQIBQEROAIQIKCYBEOPLACEG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "analyze(msg,keyw);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'MATRIXG6#7%7=%&plainG%\"EG%\"IG%\"QG%\"KG%\"AG%\"RG% \"PG%\"YG%\"OG%\"BG%\"HG%\"GG%\"LG%\"DG%\"CG%\"WG%\"UG%\"TG%\"FG%\"MG% \"VG%\"NG%\"JG%\"ZG%\"XG%\"SG7=%'cipherGF+F@F7F.FFAF8F:F/F1 F*F4F;F=F9F3F0FBF5F?F)7=%%freqG\"#5\"\"*\"\")\"\"(FJ\"\"'\"\"&\"\"%FM \"\"$\"\"#FOFOFOFOFOFOFO\"\"\"FPFP\"\"!FQFQFQFQ" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 107 "Q is translated as C; K is translated as R. We try \+ switching R <-> T and C as part of the keyword before Y." }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "keyw:=`MNOPQVWXZSTRUCYABDEFGHI JKL`;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%keywG%;MNOPQVWXZSTRUCYABDE FGHIJKLG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "monodecode(msg, keyw);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#%]pARKPEQELRMWQRWFTQTLVIRRIL GNYNEAUEAHIGHNYUIQIBNEALDLEAPNYILDENIBNERPAINILCYBEPQKACEG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "analyze(msg,keyw);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'MATRIXG6#7%7=%&plainG%\"EG%\"IG%\"NG%\"LG%\"AG% \"RG%\"QG%\"YG%\"PG%\"BG%\"HG%\"GG%\"KG%\"DG%\"CG%\"WG%\"UG%\"TG%\"FG% \"MG%\"VG%\"OG%\"JG%\"ZG%\"XG%\"SG7=%'cipherGF/F@F7F.FF*F4F;F=F9F3F0FBF,F?F)7=%%freqG\"#5\"\"*\"\")\"\"(FJ\"\"'\"\"&\" \"%FM\"\"$\"\"#FOFOFOFOFOFOFO\"\"\"FPFP\"\"!FQFQFQFQ" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 76 "Q is still fairly frequent, so there must be an other letter in the keyword. " }}{PARA 0 "" 0 "" {TEXT -1 107 "S is tr anslated as E which doesn't occur at all, which is probably wrong. Let s move E into the keyword part" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "k eyw:=`MNOPQVWXZSTRUECYABDFGHIJKL`;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%%keywG%;MNOPQVWXZSTRUECYABDFGHIJKLG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "monodecode(msg,keyw);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#%]pASKQERELSMWRSWFTRTLVISSILGOYOEAUEAHIGHOYUIRIBOEALDLEAQOYILDEO IBOESQAIOILCYBEQRKACEG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "a nalyze(msg,keyw);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'MATRIXG6#7%7=% &plainG%\"EG%\"IG%\"OG%\"LG%\"AG%\"SG%\"RG%\"YG%\"QG%\"BG%\"HG%\"GG%\" KG%\"DG%\"CG%\"WG%\"UG%\"TG%\"FG%\"MG%\"VG%\"PG%\"JG%\"ZG%\"XG%\"NG7=% 'cipherGF1F@F7F/FF+F*F4F;F=F9F3F0F.F,F?F)7=%%freqG \"#5\"\"*\"\")\"\"(FJ\"\"'\"\"&\"\"%FM\"\"$\"\"#FOFOFOFOFOFOFO\"\"\"FP FP\"\"!FQFQFQFQ" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 106 "Q still occur s frequently (as A), and T (-> F) and N(->E) are infrequent. W occurs as I twice. Let's move" }}{PARA 0 "" 0 "" {TEXT -1 23 "I into the key word part" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "keyw:=`MNOPQVWXZSTRUEC IYABDFGHJKL`;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%keywG%;MNOPQVWXZST RUECIYABDFGHJKLG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "monodec ode(msg,keyw);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#%]pATKRESELTMPSTPFUS ULWITTILGOYOEAVEAHIGHOYVISIBOEALDLEAROYILDEOIBOETRAIOILCYBERSKACEG" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "analyze(msg,keyw);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'MATRIXG6#7%7=%&plainG%\"EG%\"IG%\"O G%\"LG%\"AG%\"TG%\"SG%\"YG%\"RG%\"BG%\"HG%\"GG%\"KG%\"DG%\"CG%\"PG%\"V G%\"UG%\"FG%\"MG%\"WG%\"QG%\"JG%\"ZG%\"XG%\"NG7=%'cipherGF>F@F7F1F " 0 "" {MPLTEXT 1 0 35 "keyw:=`MNOPQVWXZSICUERTYABDFGHJKL` ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%keywG%;MNOPQVWXZSICUERTYABDFGH JKLG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "monodecode(msg,keyw );" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#%]pATPRESEOTMKSTKFUSUOWITTIOGLYL EAVEAHIGHLYVISIBLEAODOEARLYIODELIBLETRAILIOCYBERSPACEG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 96 "It's pretty readable now. That means the \+ keyword is pretty close to SICUERTY. A little guessing" }}{PARA 0 "" 0 "" {TEXT -1 35 "changes that to SECURITY and voila:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "keyw:=`MNOPQVWXZSECURITYABDFGHJKL`;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%keywG%;MNOPQVWXZSECURITYABDFGHJKLG" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "monodecode(msg,keyw);" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#%]pATPRESENTMOSTOFUSUNWITTINGLYLEAVEAH IGHLYVISIBLEANDNEARLYINDELIBLETRAILINCYBERSPACEG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "28 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }