{VERSION 4 0 "SUN SPARC SOLARIS" "4.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 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 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 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 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 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "Alphabet:=\"ABCDEFGH IJKLMNOPQRSTUVWXYZ\nabcdefghijklmnopqrstuvwxyz,.: \";" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)AlphabetGQZABCDEFGHIJKLMNOPQRSTUVWXYZ|+abcdefgh ijklmnopqrstuvwxyz,.:~6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 182 "ToNum:=proc(text)\n global Alphabet;\n local numtext,p;\n\n \+ p:=length(Alphabet);\n numtext:=[seq(SearchText(substring(text,i),A lphabet)-1,\n i=1..length(text))];\nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%&ToNumGR6#%%textG6$%(numtextG%\"pG6\"F+C$>8%-%'l engthG6#%)AlphabetG>8$7#-%$seqG6$,&-%+SearchTextG6$-%*substringG6$9$% \"iGF2\"\"\"FB!\"\"/FA;FB-F06#F@F+F1F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 177 "FromNum:=proc(numtext)\n global Alphabet;\n loca l p,text;\n\n p:=length(Alphabet);\n text:=cat(seq(substring(Alpha bet,numtext[i]+1),\n i=1..nops(numtext)));\nend;" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#>%(FromNumGR6#%(numtextG6$%\"pG%%textG 6\"F+C$>8$-%'lengthG6#%)AlphabetG>8%-%$catG6#-%$seqG6$-%*substringG6$F 2,&&9$6#%\"iG\"\"\"FCFC/FB;FC-%%nopsG6#F@F+F1F+" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 44 "ToNum(\"When in the course of human events\"); " }}{PARA 12 "" 1 "" {XPPMATH 20 "6#7D\"#A\"#M\"#J\"#S\"#c\"#NF'F(\"#Y F%F&F(\"#H\"#T\"#Z\"#W\"#XF&F(F,\"#KF(F%F-\"#R\"#FF'F(F&\"#[F&F'F*F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "Alphabet;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QZABCDEFGHIJKLMNOPQRSTUVWXYZ|+abcdefghijklmnopqrst uvwxyz,.:~6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "FromNum([3 ,7,12,25]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q%DHMZ6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "key:=\"Declare\";" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$keyGQ(Declare6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "ToNum(key);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7)\"\" $\"#J\"#H\"#Q\"#F\"#WF%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 " length(Alphabet);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#d" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "FromNum([25,8,3,21,26,22,14,2,20]); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q*ZIDV|+WOCU6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 359 "Vignere:=proc(plaintext,key)\n glo bal Alphabet;\n local i,p,q,numtext,numkey,numcode;\n \n \+ numtext:=ToNum(plaintext);\n numkey:=ToNum(key);\n q: =length(key);\n p:=length(Alphabet);\n \n numcode:=[ seq((numtext[i]+numkey[((i-1) mod q) + 1]) mod p,\n i=1..l ength(plaintext))];\n FromNum(numcode);\nend;" }}{PARA 12 "" 1 " " {XPPMATH 20 "6#>%(VignereGR6$%*plaintextG%$keyG6(%\"iG%\"pG%\"qG%(nu mtextG%'numkeyG%(numcodeG6\"F0C(>8'-%&ToNumG6#9$>8(-F56#9%>8&-%'length GF;>8%-F@6#%)AlphabetG>8)7#-%$seqG6$-%$modG6$,&&F36#8$\"\"\"&F96#,&-FM 6$,&FRFSFS!\"\"F>FSFSFSFSFB/FR;FS-F@F6-%(FromNumG6#FGF0FDF0" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "Vignere(\"When in the course of human events\",\"Declare\");" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QC ZIDV|+WOCUGM|+QPxSRM|+bGCITU.adhWDVQf6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "length(Alphabet);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# \"#d" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "ToNum(\"Declare\"); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7)\"\"$\"#J\"#H\"#Q\"#F\"#WF%" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "FromNum([57-3,57-31,57-29,57 -38,57-27,57-44,57-31]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q(.|+bTdN| +6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "Vignere(\"ZIDV\\nWO CUGM\",\".\\nbTdN\\n\");" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q,When~in~ the6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 361 "unVignere:=proc( plaintext,key)\n global Alphabet;\n local i,p,q,numtext,nu mkey,numcode;\n \n numtext:=ToNum(plaintext);\n numk ey:=ToNum(key);\n q:=length(key);\n p:=length(Alphabet);\n \n numcode:=[seq((numtext[i]-numkey[((i-1) mod q) + 1]) m od p,\n i=1..length(plaintext))];\n FromNum(numcode) ;\nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%*unVignereGR6$%*plaintext G%$keyG6(%\"iG%\"pG%\"qG%(numtextG%'numkeyG%(numcodeG6\"F0C(>8'-%&ToNu mG6#9$>8(-F56#9%>8&-%'lengthGF;>8%-F@6#%)AlphabetG>8)7#-%$seqG6$-%$mod G6$,&&F36#8$\"\"\"&F96#,&-FM6$,&FRFSFS!\"\"F>FSFSFSFZFB/FR;FS-F@F6-%(F romNumG6#FGF0FDF0" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "unVign ere(\"ZIDV\\nWOCUGM\\nQPxSRM\\nbGCITU.adhWDVQf\",\"Declare\");" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#QCWhen~in~the~course~of~human~events6 \"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "18 0 0" 0 }{VIEWOPTS 1 1 0 2 1 1805 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }