{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 1 12 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "G eneva" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 } {PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Geneva" 1 14 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 3" -1 5 1 {CSTYLE "" -1 -1 "Geneva" 1 12 0 0 0 1 1 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 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 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Title" -1 18 1 {CSTYLE " " -1 -1 "Geneva" 1 18 0 0 0 1 2 1 1 2 2 2 1 1 1 1 }3 1 0 0 12 12 1 0 1 0 2 2 19 1 }{PSTYLE "Author" -1 19 1 {CSTYLE "" -1 -1 "Geneva" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 8 8 1 0 1 0 2 2 0 1 }{PSTYLE "Hea ding 3" -1 256 1 {CSTYLE "" -1 -1 "Geneva" 1 12 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 24 "Vignere encryption tools " }}{PARA 19 "" 0 "" {TEXT -1 37 "\251Mike May, S. J., 2002, maymk@slu .edu" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 35 "We start with our standard message:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 132 "mess[1] := \"Good morning M r. Phelps.\nYour mission for today, should you choose to accept it,\ni s to learn about the Vignere cipher.\";" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>&%%messG6#\"\"\"QarGood~morning~Mr.~Phelps.|+Your~mission~for~t oday,~should~you~choose~to~accept~it,|+is~to~learn~about~the~Vignere~c ipher.6\"" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 0 "" }{TEXT 256 38 "Pre paring tools for the Vignere cipher" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 193 "The Vignere cipher is much like the Caesar cipher in that it i s an additive cipher. It differs in that the key rotates through a wo rd or phrase. An infinite code word would be a one time pad." }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 217 "In setting up the procedures for \+ the Vignere cipher, we first want a procedure that works on a single l etter. For input it will need the letter to be encoded, it's position in the message, the key, and the keylength." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 436 "vignere := proc(letter, count, key, klength)\n \+ local temp,t1;\n temp := letter:\n# t1 is which letter of the key is being used.\n# it should rotate from 1 to klength\nt1 := 1 + \+ ((count -1) mod klength);\n if (letter > 64) and (letter < 91) then \n temp := 65 + ((temp - 65 + key[t1]) mod 26):\n fi:\n \+ if (letter > 96) and (letter < 123) then\n temp := 97 + ((temp - 97 + key[t1]) mod 26):\n fi:\n temp:\n end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 295 "Next we need a procedure that encodes an entire message using the procedure above. The procedure encodevigner e works on the original ASCII message. Special characters, spaces, an d line feeds are not modified by the procedure. They are also not co unted as characters for determining position." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1090 "encodevignere := proc(message, key, klength)\n #This procedure uses the vignere cipher to encode a string\n #key should be a list of integers from 0 to 25\n #message is an ASCII st ring. klength is the length of the key\nlocal temp1, messageLength, \+ position, counter:\n #first convert the message to numerical equival ents\ntemp1 := convert(convert(message, bytes),array):\n #then uses \+ vignere to scrable the letters.\n # c1 is the number of chaqracters \+ in the message.\nmessageLength:= linalg[vectdim](temp1):\n # counter is the number of letters converted\ncounter := 0:\nfor position from \+ 1 to messageLength do\n if (temp1[position] > 64) and (temp1[positi on] < 91) then\n counter := (counter mod klength) + 1:\n t emp1[position] := 65 + ((temp1[position] - 65 + key[counter]) mod 26): \n fi:\n if (temp1[position] > 96) and (temp1[position] < 123) t hen\n counter := (counter mod klength) + 1:\n temp1[positi on] := 97 + ((temp1[position] - 97 + key[counter]) mod 26):\n fi:\n od:\n #then convert back to the ASCII code\nconvert(convert(temp1,li st), bytes):\nend:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 134 "We also wa nt a procedures for turning a lower case word into an enciphering key \+ and another procedure for producing a deciphering key." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 105 "wordtoekey := x -> map(a -> a-97, \+ convert(x,bytes)):\nwordtodkey := x -> map(a -> 123-a,convert(x,bytes) ):" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 13 "Using Vignere" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 23 "We are now ready to go." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 87 "message1 :=mess[1]:\nvignerekey := wordto ekey(\"phantom\");\nkeylength := nops(vignerekey);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%+vignerekeyG7)\"#:\"\"(\"\"!\"#8\"#>\"#9\"#7" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%*keylengthG\"\"(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "ciphertext1 := encodevignere(message1, vign erekey, keylength);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%,ciphertext1G QarVvoq~fcdcpnt~Ff.~Bwllcl.|+Majy~mvlgudu~fbk~hashy,~facgak~ybn~qtdvsr ~mc~mrjecm~wf,|+xz~tb~esmgu~aohif~ioe~Ibuztye~pbdtty.6\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 104 "It is often worthwhile to produce the de cryption key and to use it to check the process works both ways." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "ciphertext1;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#QarVvoq~fcdcpnt~Ff.~Bwllcl.|+Majy~mvlgudu~fbk~hash y,~facgak~ybn~qtdvsr~mc~mrjecm~wf,|+xz~tb~esmgu~aohif~ioe~Ibuztye~pbdt ty.6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "decryptkey := wor dtodkey(\"phantom\");" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+decryptkey G7)\"#6\"#>\"#E\"#8\"\"(\"#7\"#9" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 115 "encodevignere(ciphertext1, decryptkey, keylength);\n convert(encodevignere(ciphertext1, decryptkey, keylength),name);" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#QarGood~morning~Mr.~Phelps.|+Your~miss ion~for~today,~should~you~choose~to~accept~it,|+is~to~learn~about~the~ Vignere~cipher.6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#%arGood~morning~ Mr.~Phelps.|+Your~mission~for~today,~should~you~choose~to~accept~it,|+ is~to~learn~about~the~Vignere~cipher.G" }}}{SECT 0 {PARA 5 "" 0 "" {TEXT -1 0 "" }{TEXT 257 10 "Exercises:" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 85 "1) Use the concatenation of your first and last names as a key for a Vignere cipher." }}{PARA 0 "" 0 "" {TEXT -1 29 "Convert y our key to integers." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 101 "2) Use your key to encode the s tandard message with your key. Save the encoded message as message2. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 47 "3) Decrypt your message and save the settings." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{SECT 0 {PARA 4 "" 0 " " {TEXT -1 34 "Evaluating the strength of Vignere" }}{EXCHG {PARA 0 " " 0 "" {TEXT -1 297 "One measure of the improvement of a Vignere encry ption over a monoalphabetic cipher is how much it evens out the distri bution of letters for a standard English text. To see how good a Vign ere encryption is we want a frequency counter and a tool to measure ho w flat the distribution of letters is." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 66 "We recall the tools constructed in the Frequency Attack worksheet." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1526 "specialCharacterStrip := proc(mes sage)\n local messList, letter, messlength, messList2, i;\n messLi st := convert(message, bytes):\n messlength := linalg[vectdim](messL ist);\n messList2 := [];\n for i from 1 to messlength do\n let ter := messList[i]:\n if (letter > 64) and (letter < 91) then\n \+ messList2 := [op(messList2), letter] fi:\n if (letter > 96 ) and (letter < 123) then\n messList2 := [op(messList2), lett er-32] fi:\n od:\n messList2:\nend:\nshortCounter := proc(message List)\n local message2, letter, messlength, freqVector, i;\n messl ength := linalg[vectdim](messageList);\n freqVector := linalg[vector ](27, i->0):\n for i from 1 to messlength do\n letter:= message List[i] - 64:\n freqVector[letter] := freqVector[letter]+1:\n \+ freqVector[27] := freqVector[27]+1:\n od:\n freqVector:\n end: \nfreqCounter := message -> shortCounter(specialCharacterStrip(message )):\nfreqPrinter := proc(freqVector)\n local message2, letter, mes slength, freqcount, i, countera, \n temp0, temp1, temp2;\n te mp1 := convert(freqVector[27],string):\n print(`The string had `||te mp1||\n ` characters from the Latin alphabet.`);\n for countera from 1 to 26 do\n temp0 := convert(convert([64 + countera], bytes ),string):\n temp1 := convert(freqVector[countera],string):\n \+ temp2 := convert(evalf(\n freqVector[countera]/freqVector[27]*1 00.0,4),string):\n print(`The letter `|| temp0 || ` appears `||tem p1||` times,`||\n temp2||`% of the time.`);\n od;\nend:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 187 "We repeat the message from the la st worksheet so that we can check frequencies on a real message. Note that we use double double quotes to put a quotation mark in the middl e of a string." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1787 "message 1 := \"Numbers dominate much of our everyday lives in diverse and bare ly\nperceptible ways. Parents are anious to see their children attain \ngood grades in mathematics, assured that this is a passport to succe ss and\nsecurity. The government stipulates that mathematical studies are\ncompulsory for most of a child's time at school. Intelligence t ests contain\nparticular ingredients to test the candidates' ability t o reason mathematically.\nAdvertisements promising challenging and wel l-paid employment\ninvite us to seek further details if we can success fully spot\nthe next number in puzzling sequences. Students change s ubjects when\nthey discover the mathematical content of their course i s too\ndifficult to master. Young children turn out to be extraordina rily talented\nin mathematics with abilities outstripping children twi ce their age,\nyet their performance in other subjects is unremarkable . Only\nin art and music is such precociousness so impressive. Lookin g out into \nthe wider world, we see the cogs of the Western world tur ned by the\nengines of mathematical understanding. Computers programm ed with \ninexorable logic control our economies and money markets, ou r aeroplanes\nand trains. Our own minds are seen as a fallible \"\"na tural\"\" form\nof intelligence that these computers will ultimately p erfect in an\nembodiment of \"\"artificial\"\" intelligence that is no thing more than a\ncomplicated mathematical algorithm that can be impl emented\nelectronically far faster and less fallibly than by our own f eeble brains.\nIn our universities there is an unspoken suspicion that the further\na discipline lies from mathematics and the smaller the b ody of\nmathematical statements at its core the less rigorous and inte llectually\nrespectible it is.\":\nfreq2 := freqCounter(message1):" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 70 "We now divide all the counts for \+ the letters by the number of letters." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "freq3 := seq(26.0*freq2[i]/freq2[27], i=1..27);" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#>%&freq3G6=$\"+RgiM?!\"*$\"+NM;\"y$!#5 $\"+!\\Vj6\"F($\"+twVAzF+$\"+51)p=$F($\"+U]Q,XF+$\"+S'H8K%F+$\"+!p\"*H s*F+$\"+g.ny@F($\"+L!36g$!#6$\"+$3qF+*F<$\"+$fEkQ\"F($\"+\"4ZI!**F+$\" +(4ll$=F($\"+%*>[m:F($\"+[mg@_F+$\"+F($\"+ &[DGo#F($\"+#o9F#))F+$\"+:')\\?;F+$\"+D5$3q#F+$\"+]?m,aF<$\"+QUFTTF+F: $\"$g#!\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 111 "As expected, e sh ows up more than three times as often as expected for an even share an d q and z are very rare." }}{PARA 0 "" 0 "" {TEXT -1 67 "The letter e \+ shows up more than 170 times as often as the letter q." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 178 "If the distribution were even, the first 26 places would all be 1. One measure of the how far the distributio n is from even is to square the difference from the expected values." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "distmeasure := sum((freq3 [i]-1)^2,i=1..26);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%,distmeasureG$ \"+P!Ro)>!\")" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 77 "Compare these re sults with what happens if we encode with the Vignere cipher." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 195 "ciphertext1 := encodevigner e(message1, vignerekey, keylength):\nfreq2a := freqCounter(ciphertext1 ):\nfreq3a := seq(26.0*freq2a[i]/freq2a[27], i=1..27);\ndistmeasurea : = sum((freq3a[i]-1)^2,i=1..26);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%' freq3aG6=$\"+bT]Q;!\"*$\"+7bT]8F($\"+mg@-s!#5$\"+cO)=7'F-$\"+7yQg7F($ \"+6,Oq6F($\"+JnPC7F($\"+;j_5%-distmeasur eaG$\"+Y7-6K!\"*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 178 "In the encod ed text, no letter is used more than 5 times as often as any other let ter. The distance from a flat distribution has dropped from almost 20 to a little more than 3." }}}{SECT 0 {PARA 256 "" 0 "" {TEXT -1 9 "E xercises" }{TEXT 258 0 "" }{TEXT -1 1 ":" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 252 "4) Type in a passage of at least 500 characters form yo ur favorite book and save it as message3. Do a frequency count and li st the frequencies of the 5 most common letters. As defined above, fi nd the distance the message is from a flat distribution." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 256 " Encode your mess age with a Vignere cipher and a key of \"theraininspainfallsmainly\". \+ Do a frequency count for the encoded message and give the frequencies of the five most common letters. Find the distance the encoded messa ge is from a flat distribution." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 95 "5) With a Vignere key of length 5 how close can you get the encryption of you message to fl at?" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 17 "A ttacking Vignere" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 313 "To attack the Vignere cipher, we want to figure out the length of the key. \nTo do that we note that if the key is n characters long, a substring made o f every nth characters should have a distribution similar to that of t ypical English text. (The same will be true of a substring made of ev ery 2-nth character.)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 186 "Consider the message above and the ciphertext. We fi rst produce a list of the numeric equivalents of the strings with spec ial characters removed and all letters converted to upper case." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "messList := specialCharacter Strip(message1):\ncipherList := specialCharacterStrip(ciphertext1):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 98 "Now we want a procedure to find the normed size of the frequency vector associated to each string." } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 152 "normedSize := proc(messag eList)\n local freqList:\n freqList := shortCounter(messageList): \+ \n evalf(sum((freqList[i]/freqList[27])^2, i=1..26));\nend:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "normedSize(messList);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+Y[E&y'!#6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "normedSize(cipherList);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+*)p:@V!#6" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 158 " Note that the ciphertext distribution is much flatter than the normal \+ text distribution. Now we want a tool to extract the nth character fr om a message list." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 255 "nthC haracters := proc(messageList, n)\n local messageLength, shortLength , shortList:\n messageLength := linalg[vectdim](messageList):\n sh ortLength := iquo((messageLength + n - 1),n):\n shortList := [seq(me ssageList[1+i*n],i=0..(shortLength-1))]:\nend:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 125 "Now we find the size of the distribution vector for the plaintext string using every nth character with n going from 1 to 10." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "seq(normedSize(nthC haracters(messList,n)),n=1..10);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6,$ \"+Y[E&y'!#6$\"+&=p(zkF%$\"+\"[#[8)>pF%$\"+S'Hx%oF%$\"+!p?'enF%" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 132 "All of the norms are obout the sime size, a bit m ore than .06. Compare what happens when we try the same thing with th e ciphertext." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "seq(normed Size(nthCharacters(cipherList,n)),n=1..10);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6,$\"+*)p:@V!#6$\"+\\(H6P%F%$\"+Q()HHVF%$\"++.!HV%F%$\"+I %=nZ%F%$\"+(p)[OZF%$\"+I)oV?(F%$\"+yi7$y%F%$\"+U,t%f%F%$\"+iO7c[F%" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 79 "The distribution with n = 7 gives the correct distribution and is our key size." }}}{SECT 0 {PARA 256 " " 0 "" {TEXT -1 10 "Exercises:" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 81 " 6) An encrypted version of message1 is given below. Find the length \+ of the key." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1463 "ciphertext 1 := \n\"SLQENFFHGRZRDCSZYUMFJRDFRZWWPHDHZVZWXZRGRJRVKJRRGKOEIDDGIULSC XAGCIZJMFTSWVRWBOEISSZSXBHBWWJKLHRFPLAQUVHWOGXSNEKRXRTVSIVWLWANXZJDEWR QFEKXLVHMHUELYYMVRGNTSXJTRAHGSKZTGHBGNRVXVGXAWGCLMVKRESEREJEXVCWCYDFKI VCVNXEFKLHVOGMUFCWWDRVIKFIIFXACYDXFVBOCEQGXKSIJQUMDIJXLVSNXKHYSRUWAXWQ CMJNBPILJJXVLCAXSNETDAHVGMQRVLWUEIVNVRWBHBXWXKXKNQNRVNUEWNGNFAQZXBCCEI SXFRPJHUIEFKMFJZYCSIMIUCWFIEJEXVYFBQAXZRJLVNPDJEKLWUNRVBVPOYOVHWRGPRHA RRLNEZLCSHWLTJIHTTHVLMVVGNHNMDXZJZNQNRKZTGHBGSYDQPWSXHGLWSVBWWIZFWWZRS DNMPASXWHZIRRUJJWWDRRRLXTLDWURWMGAIFCGJLWSKLHHRVWUTMIUCVRQSYYIPJHVGSQT SQCSAXGKKLHRFPSMWJILBHBSVNWJLLIYXLTDEVCSECGZEKFQWYHJJEXXABBYLYFFHNLGVS TIHLWOEMDDKEONBGIVNEQDCVRQSYZGVFWGLSGZPLCWRWGZKWWAWCTASXGKRZQVWSKALLSG LWNIEJNMRXLMVMUYSEJGWDEQLSVRGYYIUBIONWHKWLBIAVWRRVNJPYIGSCCLWOEXSSUQXB WPMKXLGKYFRGGHZSXBBRWKXFMPYFRWKNMIOXCXMFLFYWRBGSLMVALMSEAGWCHZNGRILMVG RPGBJLMVAHBHRVFBFVOMHHVFJUFBCVRIFLZRHBCSQSYYIPJHVGSQLRGNFFXSSUMQPQBQHZ KIUBDESYWRQPNRJMLMZRHGCEETQVPRPWPGGSKVRUCHVWHFRRVWRWSSUQRWSLQSWBIWBCHV SJISSUOAIKFEHWAOVRKTLVRFBZMFIJEUNGRIFFJEIJZYMTQVRDCIEEDKFVPXTVRLJCPLPS AGWYYEWCVRWWHFQSDHRVKBZPODZGMEFKIOHDRVXJTXLWOAIEGFHLVSAXGKRVWRTVGAFCMQ CSYPALVRFNHUELNJRRCVVRYRFVHCVNRSHFQSUWPELJUQDCVRQSYZGDUOYKGWZXKVHUELHR RENWZTDJDIQCSQIDJTXUXBVGSQCCIJFSEKYVVDWRYIKXWEOUWOPQYYEQKMBYJTNRINSOPW GIELWGVRGZIYQRJRVKNKMHBHUIJJZWDWIAWHTBIQBIFTAHZSQCVNXLMVJXAHUIJFUMVLWC PASVPLNGSVGRDEWQSZELNTWDWRGLWXDEOUSEXZJSSGHCSQSYYIPJHVGSQJXDCSZIFYJEWR HFGGWVXKNZRWKWZKRACHWSSUMQCSYPWHKYDUZLVWXGIFCWOPWNKMV\":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "7) Find the key used to encrypt ciphertext1." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 113 " 8) Encrypt your message3 above with a key of between 5 and 10 letters . Post your message to the bulletin board." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 89 "9) Break s omeone else's message from the bulletin board without them telling you the key." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 264 "You should note that this method of anal ysis breaks down when the message is not sufficiently long. (All 1 ch aracter strings have the same normed size for their frequency vectors. ) This method seems to work best if the substrings are at least 50 ch aracters long." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "0 0 0" 0 } {VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }