{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 0 1 0 0 0 0 0 0 0 1 }{PSTYLE "Norm al" -1 0 1 {CSTYLE "" -1 -1 "Geneva" 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 2 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 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 12 "Caesar Codes" }}{PARA 19 "" 0 "" {TEXT -1 22 "\251Mike May, S. J., 2001" }}{PARA 0 "" 0 "" {TEXT 256 30 "(Worksheet 1 for Cryptography)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 13 "Preliminaries" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 71 "We start by prep aring a standard message that we will use for our work." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 133 "message1 :=\"AZaz Good morning Mr. Phelps. Your mission for today, \nshould you choose to accept it, is to encode this message. AZaz\";" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>% )message1GQbrAZaz~Good~morning~Mr.~Phelps.~~Your~mission~for~today,~|+ should~you~choose~to~accept~it,~is~to~encode~this~message.~AZaz6\"" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 46 "Note that a carriage return is re corded as \\n." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 329 "The first method of encryption that we will look at is t he Caesar Code. Caesar encoded his messages by shifting each letter b y three. In the book that is done by converting the letters to number s from 0 to 25 (ignoring upper and lower case), adding 3 (with remaind ers, so 27 converts to 2), then converting back to letters. " }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 157 "We would like to mechanize the co nversion from letters to numbers. The easiest way to do this is with \+ the convert command from Maple using the bytes option." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "temp[1] := convert(message1, bytes) ;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>&%%tempG6#\"\"\"7cr\"#l\"#!*\"#( *\"$A\"\"#K\"#r\"$6\"F/\"$+\"F-\"$4\"F/\"$9\"\"$5\"\"$0\"F3\"$.\"F-\"# xF2\"#YF-\"#!)\"$/\"\"$,\"\"$3\"\"$7\"\"$:\"F7F-F-\"#*)F/\"$<\"F2F-F1F 4F=F=F4F/F3F-\"$-\"F/F2F-\"$;\"F/F0F+\"$@\"\"#WF-\"#5F=F9F/F?F;F0F-FBF /F?F-\"#**F9F/F/F=F:F-FAF/F-F+FEFEF:F " 0 "" {MPLTEXT 1 0 35 "temp[2] := co nvert(temp[1], bytes);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>&%%tempG6# \"\"#QbrAZaz~Good~morning~Mr.~Phelps.~~Your~mission~for~today,~|+shoul d~you~choose~to~accept~it,~is~to~encode~this~message.~AZaz6\"" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 242 "Note that the convert command doe s not convert letters to numbers between 0 and 25. Instead it convert s ASCII characters to numbers between 1 and 255 inclusive. Since we w ant to recover encoded messages exactly, we will use this conversion. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 4 " " 0 "" {TEXT -1 36 "A first attempt at the Caesar cipher" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 85 "We begin with a naive attempt at the Caes ar cipher, shifting every letter by three. " }}{PARA 0 "" 0 "" {TEXT -1 83 "(We use the \"map\" command in Maple to apply a function to eve ry element of a list.)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "t emp[2] := map(x->x+3,temp[1]);\nconvert(temp[2],bytes);" }}{PARA 12 " " 1 "" {XPPMATH 20 "6#>&%%tempG6#\"\"#7cr\"#o\"#$*\"$+\"\"$D\"\"#N\"#u \"$9\"F/\"$.\"F-\"$7\"F/\"$<\"\"$8\"\"$3\"F3\"$1\"F-\"#!)F2\"#\\F-\"#$ )\"$2\"\"$/\"\"$6\"\"$:\"\"$=\"F7F-F-\"##*F/\"$?\"F2F-F1F4F=F=F4F/F3F- \"$0\"F/F2F-\"$>\"F/F0F+\"$C\"\"#ZF-\"#8F=F9F/F?F;F0F-FBF/F?F-\"$-\"F9 F/F/F=F:F-FAF/F-F+FEFEF:F " 0 "" {MPLTEXT 1 0 260 "convert([1,2,3,4,64,65,66,97,98,121,122,123,127 ,128,97,129,130,256,97,98,99],bytes);\nconvert([97,255,128,97,132,97,1 64,97,200,97,255,97,255,97,97,254,97,98],bytes);\nconvert([65,255, 66, 256, 67, 257, 68], bytes);\nconvert([65,2,66, 1, 67, 0, 68, -2, 69],b ytes);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q2|\"|#|$|%@ABabyz|fr|jr|[sa |\\s|]s6\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q3a|jz|[sa|_sa|_ua|cwa|j za|jzaa|izab6\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q$A|jzB6\"" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#Q&A|#B|\"C6\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 211 "Note that the convert function from integer to ASCII \+ assumes the input is between 1 and 255, inclusive. If fed an intege r outside that range, it stops. In that case, it does not process the rest of the list." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 113 "We want to look at conversion functions that use a stand ard alphabet as well as ones that use the ASCII alphabet." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 311 "The first procedure we define uses the \+ ASCII alphabet. This procedure shifts the value letter by the value \+ key. Notice that we have to take care that we get the correct results if letter + key is 254, 255, and 256. (Check that the procedure outl ined does take those values to 254, 255, and 1 respectively.)" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 79 "caesara := proc(letter, key) \n ((letter + key - 1) mod 255) + 1;\n end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 82 "Of course, the test of a coding procedure is that it encodes and decodes properly." }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 96 "convert(temp[1], bytes);\ntemp[4] := map(caesara,te mp[1],120);\ncode[1] := convert(temp[4],bytes);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#QbrAZaz~Good~morning~Mr.~Phelps.~~Your~mission~for~toda y,~|+should~you~choose~to~accept~it,~is~to~encode~this~message.~AZaz6 \"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>&%%tempG6#\"\"%7cr\"$&=\"$5#\"$ <#\"$U#\"$_\"\"$\">\"$J#F/\"$?#F-\"$H#F/\"$M#\"$I#\"$D#F3\"$B#F-\"$(>F 2\"$m\"F-\"$+#\"$C#\"$@#\"$G#\"$K#\"$N#F7F-F-\"$4#F/\"$P#F2F-F1F4F=F=F 4F/F3F-\"$A#F/F2F-\"$O#F/F0F+\"$T#\"$k\"F-\"$I\"F=F9F/F?F;F0F-FBF/F?F- \"$>#F9F/F/F=F:F-FAF/F-F+FEFEF:F&%%codeG6#\"\"\"Qbr|dv|]x|dx|]z|ct|jv|by|by|gx|ct|`y|by|ey|ay|\\y| ay|jx|ct|`w|ey|au|ct|cw|[y|hx|_y|cy|fy|au|ct|ct|\\x|by|hy|ey|ct|`y|\\y |fy|fy|\\y|by|ay|ct|ix|by|ey|ct|gy|by|gx|dx|\\z|_u|ct|]s|fy|[y|by|hy|_ y|gx|ct|\\z|by|hy|ct|fx|[y|by|by|fy|hx|ct|gy|by|ct|dx|fx|fx|hx|cy|gy|c t|\\y|gy|_u|ct|\\y|fy|ct|gy|by|ct|hx|ay|fx|by|gx|hx|ct|gy|[y|\\y|fy|ct |`y|hx|fy|fy|dx|jx|hx|au|ct|dv|]x|dx|]z6\"" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 63 "temp[5] := map(caesara,temp[4], -120);\nconvert(tem p[5], bytes);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>&%%tempG6#\"\"&7cr\" #l\"#!*\"#(*\"$A\"\"#K\"#r\"$6\"F/\"$+\"F-\"$4\"F/\"$9\"\"$5\"\"$0\"F3 \"$.\"F-\"#xF2\"#YF-\"#!)\"$/\"\"$,\"\"$3\"\"$7\"\"$:\"F7F-F-\"#*)F/\" $<\"F2F-F1F4F=F=F4F/F3F-\"$-\"F/F2F-\"$;\"F/F0F+\"$@\"\"#WF-\"#5F=F9F/ F?F;F0F-FBF/F?F-\"#**F9F/F/F=F:F-FAF/F-F+FEFEF:F " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 204 "2) Convert the message \+ to numbers and shift the message by 120 characters, convert to ASCII, \+ then back to numbers, shift the message by -120, then convert back to \+ ASCII. How has the message been changed?" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 43 "Caesar B - leaving special characters alone" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 394 "A problem with using the full ASCII alphabet is that we shift \+ to so many special characters that we would have trouble typing the en coded message. For these reason we also want a coding procedure that \+ rotates the letters but leaves the special characters alone. Recall t hat the upper case letters are characters 65 through 90, while the low er case letters are ASCII characters 97 through 122." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 274 "caesarb := proc(letter, key)\n local t emp, temp2;\n temp := letter:\n if temp > 64 then\n if temp < 91 t hen\n temp := 65 + ((temp - 65 + key) mod 26):\n fi:fi:\nif tem p > 96 then\n if temp < 123 then\n temp := 97 + ((temp - 97 + k ey) mod 26):\n fi:fi:\ntemp:\nend:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 43 "Once again, the test is to encode messages." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 86 "convert(temp[1], bytes);\ntemp[6] := map(ca esarb, temp[1], 3);\nconvert(temp[6], bytes);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#QbrAZaz~Good~morning~Mr.~Phelps.~~Your~mission~for~toda y,~|+should~you~choose~to~accept~it,~is~to~encode~this~message.~AZaz6 \"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>&%%tempG6#\"\"'7cr\"#o\"#n\"$+ \"\"#**\"#K\"#u\"$9\"F/\"$.\"F-\"$7\"F/\"$<\"\"$8\"\"$3\"F3\"$1\"F-\"# !)F2\"#YF-\"#$)\"$2\"\"$/\"\"$6\"\"$:\"\"$=\"F7F-F-\"#mF/\"$?\"F2F-F1F 4F=F=F4F/F3F-\"$0\"F/F2F-\"$>\"F/F0F+\"#)*\"#WF-\"#5F=F9F/F?F;F0F-FBF/ F?F-\"$-\"F9F/F/F=F:F-FAF/F-F+FEFEF:F " 0 "" {MPLTEXT 1 0 125 "temp[7] := map(caesa rb, temp[6], -3);\nconvert(temp[7], bytes);\ntemp[8] := map(caesarb, t emp[6], 23);\nconvert(temp[8], bytes);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>&%%tempG6#\"\"(7cr\"#l\"#!*\"#(*\"$A\"\"#K\"#r\"$6\"F/\"$+\"F- \"$4\"F/\"$9\"\"$5\"\"$0\"F3\"$.\"F-\"#xF2\"#YF-\"#!)\"$/\"\"$,\"\"$3 \"\"$7\"\"$:\"F7F-F-\"#*)F/\"$<\"F2F-F1F4F=F=F4F/F3F-\"$-\"F/F2F-\"$; \"F/F0F+\"$@\"\"#WF-\"#5F=F9F/F?F;F0F-FBF/F?F-\"#**F9F/F/F=F:F-FAF/F-F +FEFEF:F&%%tempG6#\"\")7cr\"#l\"#!*\"#(*\"$A\"\"#K\"#r\"$6\"F/\"$+\"F-\"$4\" F/\"$9\"\"$5\"\"$0\"F3\"$.\"F-\"#xF2\"#YF-\"#!)\"$/\"\"$,\"\"$3\"\"$7 \"\"$:\"F7F-F-\"#*)F/\"$<\"F2F-F1F4F=F=F4F/F3F-\"$-\"F/F2F-\"$;\"F/F0F +\"$@\"\"#WF-\"#5F=F9F/F?F;F0F-FBF/F?F-\"#**F9F/F/F=F:F-FAF/F-F+FEFEF: F " 0 "" {MPLTEXT 1 0 306 "encodecaesarb := proc(messa ge, key)\n local temp:\n#first convert the message to numerical equiv alents\n temp[1] := convert(message, bytes):\n#then add the key to ea ch letter to scrable the letters\n temp[2] := map(caesarb, temp[1], k ey):\n#then convert back to the ASCII code\n convert(temp[2], bytes); \n end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 51 "We will use this proc edure on our standard message." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "message1;\nmess[2] := encodecaesarb(message1,3);" }}{PARA 12 " " 1 "" {XPPMATH 20 "6#QbrAZaz~Good~morning~Mr.~Phelps.~~Your~mission~f or~today,~|+should~you~choose~to~accept~it,~is~to~encode~this~message. ~AZaz6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>&%%messG6#\"\"#QbrDCdc~Jr rg~pruqlqj~Pu.~Skhosv.~~Brxu~plvvlrq~iru~wrgdb,~|+vkrxog~brx~fkrrvh~wr ~dffhsw~lw,~lv~wr~hqfrgh~wklv~phvvdjh.~DCdc6\"" }}}{SECT 0 {PARA 5 "" 0 "" {TEXT -1 9 "Exercise:" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 110 "3) \+ Use the modified procedure to shift message2, which you defined in exe rcise 1, by 3, 13, and 15 characters." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 15 "Breaking C aesar" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 173 "We conclude this section by producing a brute force code breaker for the Caesar code. We simp ly take the message and do all possible shifts. This is best done wit h a loop." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 195 "breakcaesarb \+ := proc(message)\n local temp, key;\n for key from 1 to 25 do\n \+ temp := encodecaesarb(message, - key):\n print(`The key of ` ||key,` produces - `,temp);\n od;\n end: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "breakcaesarb(mess[2]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%-The~key~of~1G%-~produces~-~GQbrCBcb~Iqqf~oqtpkpi~Ot.~ Rjgnru.~~Aqwt~okuukqp~hqt~vqfca,~|+ujqwnf~aqw~ejqqug~vq~ceegrv~kv,~ku~ vq~gpeqfg~vjku~oguucig.~CBcb6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%-T he~key~of~2G%-~produces~-~GQbrBAba~Hppe~npsojoh~Ns.~Qifmqt.~~Zpvs~njtt jpo~gps~upebz,~|+tipvme~zpv~dipptf~up~bddfqu~ju,~jt~up~fodpef~uijt~nft tbhf.~BAba6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%-The~key~of~3G%-~pro duces~-~GQbrAZaz~Good~morning~Mr.~Phelps.~~Your~mission~for~today,~|+s hould~you~choose~to~accept~it,~is~to~encode~this~message.~AZaz6\"" }} {PARA 12 "" 1 "" {XPPMATH 20 "6%%-The~key~of~4G%-~produces~-~GQbrZYzy~ Fnnc~lnqmhmf~Lq.~Ogdkor.~~Xntq~lhrrhnm~enq~snczx,~|+rgntkc~xnt~bgnnrd~ sn~zbbdos~hs,~hr~sn~dmbncd~sghr~ldrrzfd.~ZYzy6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%-The~key~of~5G%-~produces~-~GQbrYXyx~Emmb~kmplgle~Kp.~ Nfcjnq.~~Wmsp~kgqqgml~dmp~rmbyw,~|+qfmsjb~wms~afmmqc~rm~yaacnr~gr,~gq~ rm~clambc~rfgq~kcqqyec.~YXyx6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%-T he~key~of~6G%-~produces~-~GQbrXWxw~Dlla~jlokfkd~Jo.~Mebimp.~~Vlro~jfpp flk~clo~qlaxv,~|+pelria~vlr~zellpb~ql~xzzbmq~fq,~fp~ql~bkzlab~qefp~jbp pxdb.~XWxw6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%-The~key~of~7G%-~pro duces~-~GQbrWVwv~Ckkz~iknjejc~In.~Ldahlo.~~Ukqn~ieooekj~bkn~pkzwu,~|+o dkqhz~ukq~ydkkoa~pk~wyyalp~ep,~eo~pk~ajykza~pdeo~iaoowca.~WVwv6\"" }} {PARA 12 "" 1 "" {XPPMATH 20 "6%%-The~key~of~8G%-~produces~-~GQbrVUvu~ Bjjy~hjmidib~Hm.~Kczgkn.~~Tjpm~hdnndji~ajm~ojyvt,~|+ncjpgy~tjp~xcjjnz~ oj~vxxzko~do,~dn~oj~zixjyz~ocdn~hznnvbz.~VUvu6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%-The~key~of~9G%-~produces~-~GQbrUTut~Aiix~gilhcha~Gl.~ Jbyfjm.~~Siol~gcmmcih~zil~nixus,~|+mbiofx~sio~wbiimy~ni~uwwyjn~cn,~cm~ ni~yhwixy~nbcm~gymmuay.~UTut6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.T he~key~of~10G%-~produces~-~GQbrTSts~Zhhw~fhkgbgz~Fk.~Iaxeil.~~Rhnk~fbl lbhg~yhk~mhwtr,~|+lahnew~rhn~vahhlx~mh~tvvxim~bm,~bl~mh~xgvhwx~mabl~fx lltzx.~TSts6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~of~11G%-~p roduces~-~GQbrSRsr~Yggv~egjfafy~Ej.~Hzwdhk.~~Qgmj~eakkagf~xgj~lgvsq,~| +kzgmdv~qgm~uzggkw~lg~suuwhl~al,~ak~lg~wfugvw~lzak~ewkksyw.~SRsr6\"" } }{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~of~12G%-~produces~-~GQbrRQr q~Xffu~dfiezex~Di.~Gyvcgj.~~Pfli~dzjjzfe~wfi~kfurp,~|+jyflcu~pfl~tyffj v~kf~rttvgk~zk,~zj~kf~vetfuv~kyzj~dvjjrxv.~RQrq6\"" }}{PARA 12 "" 1 " " {XPPMATH 20 "6%%.The~key~of~13G%-~produces~-~GQbrQPqp~Weet~cehdydw~C h.~Fxubfi.~~Oekh~cyiiyed~veh~jetqo,~|+ixekbt~oek~sxeeiu~je~qssufj~yj,~ yi~je~udsetu~jxyi~cuiiqwu.~QPqp6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6% %.The~key~of~14G%-~produces~-~GQbrPOpo~Vdds~bdgcxcv~Bg.~Ewtaeh.~~Ndjg~ bxhhxdc~udg~idspn,~|+hwdjas~ndj~rwddht~id~prrtei~xi,~xh~id~tcrdst~iwxh ~bthhpvt.~POpo6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~of~15G% -~produces~-~GQbrONon~Uccr~acfbwbu~Af.~Dvszdg.~~Mcif~awggwcb~tcf~hcrom ,~|+gvcizr~mci~qvccgs~hc~oqqsdh~wh,~wg~hc~sbqcrs~hvwg~asggous.~ONon6\" " }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~of~16G%-~produces~-~GQbr NMnm~Tbbq~zbeavat~Ze.~Curycf.~~Lbhe~zvffvba~sbe~gbqnl,~|+fubhyq~lbh~pu bbfr~gb~npprcg~vg,~vf~gb~rapbqr~guvf~zrffntr.~NMnm6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~of~17G%-~produces~-~GQbrMLml~Saap~yadzuz s~Yd.~Btqxbe.~~Kagd~yueeuaz~rad~fapmk,~|+etagxp~kag~otaaeq~fa~mooqbf~u f,~ue~fa~qzoapq~ftue~yqeemsq.~MLml6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~of~18G%-~produces~-~GQbrLKlk~Rzzo~xzcytyr~Xc.~Aspwad.~~Jz fc~xtddtzy~qzc~ezolj,~|+dszfwo~jzf~nszzdp~ez~lnnpae~te,~td~ez~pynzop~e std~xpddlrp.~LKlk6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~of~1 9G%-~produces~-~GQbrKJkj~Qyyn~wybxsxq~Wb.~Zrovzc.~~Iyeb~wsccsyx~pyb~dy nki,~|+cryevn~iye~mryyco~dy~kmmozd~sd,~sc~dy~oxmyno~drsc~wocckqo.~KJkj 6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~of~20G%-~produces~-~G QbrJIji~Pxxm~vxawrwp~Va.~Yqnuyb.~~Hxda~vrbbrxw~oxa~cxmjh,~|+bqxdum~hxd ~lqxxbn~cx~jllnyc~rc,~rb~cx~nwlxmn~cqrb~vnbbjpn.~JIji6\"" }}{PARA 12 " " 1 "" {XPPMATH 20 "6%%.The~key~of~21G%-~produces~-~GQbrIHih~Owwl~uwzv qvo~Uz.~Xpmtxa.~~Gwcz~uqaaqwv~nwz~bwlig,~|+apwctl~gwc~kpwwam~bw~ikkmxb ~qb,~qa~bw~mvkwlm~bpqa~umaaiom.~IHih6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~of~22G%-~produces~-~GQbrHGhg~Nvvk~tvyupun~Ty.~Wolswz.~ ~Fvby~tpzzpvu~mvy~avkhf,~|+zovbsk~fvb~jovvzl~av~hjjlwa~pa,~pz~av~lujvk l~aopz~tlzzhnl.~HGhg6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~o f~23G%-~produces~-~GQbrGFgf~Muuj~suxtotm~Sx.~Vnkrvy.~~Euax~soyyout~lux ~zujge,~|+ynuarj~eua~inuuyk~zu~giikvz~oz,~oy~zu~ktiujk~znoy~skyygmk.~G Fgf6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~of~24G%-~produces~ -~GQbrFEfe~Ltti~rtwsnsl~Rw.~Umjqux.~~Dtzw~rnxxnts~ktw~ytifd,~|+xmtzqi~ dtz~hmttxj~yt~fhhjuy~ny,~nx~yt~jshtij~ymnx~rjxxflj.~FEfe6\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%%.The~key~of~25G%-~produces~-~GQbrEDed~Kssh~ qsvrmrk~Qv.~Tliptw.~~Csyv~qmwwmsr~jsv~xshec,~|+wlsyph~csy~glsswi~xs~eg gitx~mx,~mw~xs~irgshi~xlmw~qiwweki.~EDed6\"" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 56 "It is clear that 3 is the key to unlocking the message ." }}}{SECT 0 {PARA 5 "" 0 "" {TEXT -1 9 "Exercise:" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 168 "4) Decode the message `Vogsc Mkbbyv ckic \"Dgkc lbsvvsq kxn dro cvsfoi dyfo.\" Mkx iye snoxdspi dro gybu?` and answe r the question. Identify the key used to encode it." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{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 }