{VERSION 5 0 "SUN SPARC SOLARIS" "5.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 331 "RSAsetup:=proc(size )\n local p,q,phi,e,n, MedRand, BigRand, x;\n BigRand:=rand(size..10 *size);\n MedRand:=rand(3..size/10);\n p:=nextprime(BigRand());\n q :=nextprime(BigRand());\n n:=p*q;\n phi:=(p-1)*(q-1);\n e:=MedRand( );\n while(gcd(e,phi) <> 1) do\n e:=MedRand();\n od;\n x := modp (1/e, phi);\n return([[n,e],[n,x]]);\nend:\n " }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 37 "randomize(); # stir up the random pot" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"+aEp?5" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "keys:=RSAsetup(10^20);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%%keysG7$7$\"J\"4Pw`qKrPm\"p-1lkTcr'>P\"4$3\\W\">t08=*7$F'\"JRJ &zL'*H'**)4dATdP\\'>Qwp$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "public := keys[1]:\nprivate:= keys[2]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 77 "RSAEncodeNum := proc(num, key)\n return( modp( num & ^ key[2], key[1] ));\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "RSAEncodeNum(17,public);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"I<(* 4I!>;&**\\S;$>;7\")3NAA&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "RSAEncodeNum(%,private);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"#<" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+f/0dS!\")" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "evalf(log[256](10^20));" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+Q-#[I)!\"*" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 6 "256^8;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"5;; b4P2WnW=" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "evalf(log[10](% ));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+s>fE>!\")" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "webpage:=fopen(\"/home/mat331/www/index.h tml\",READ);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(webpageG\"\"!" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "readbytes(webpage,8);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7*\"#g\"#L\"#o\"#z\"#n\"#%)\"#*)\"#!) " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "convert(%,bytes);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#Q) " 0 "" {MPLTEXT 1 0 38 "readbytes(webpage,8);convert(%,bytes);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7*\"#p\"#K\"#s\"#%)\"#x\"#wF%\"#!)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q)E~HTML~P6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "convert([69, 32, 72, 84, 77, 76, 32, 80], base, 256, \+ 256^8);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7#\"4P;=*H<')ptd" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "fclose(webpage);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "?writebytes;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 1 "R" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 590 "RSAEncodeFile:= proc(infile, outfi le, key)\n local inf, outf, chunksize, chunk, a, b;\n chunksize :=8; \n inf:=fopen(infile,READ,BINARY);\n outf:=fopen(outfile,WRITE,BINAR Y);\n chunk:=readbytes(inf,chunksize);\n while (chunk <> 0) do\n \+ a := op(convert(chunk, base, 256, 256^chunksize));\n b:= modp( a &^ key[2], key[1]); # RSA encode it. key[1] is the base, key[2] is exp .\n chunk:= convert([b], base,256^chunksize, 256);\nprint(a,chunk); \n writebytes(outf, chunk);\n\n chunk:=readbytes(inf,chunksize); \n od;\n fclose(inf);\n fclose(outf);\n print(\"wrote \",outfile); \nend:\n \n\n\n " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "RSAEncodeFile(\"/tmp/plain\", \"/tm p/stuff\", public);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"4]yuJ0_j8+'73\"#=\"$8\"\"$5\"\"#]\"\"\"\"$C# \"$y\"\"$x\"\"#b\"#m\"#*)\"#R\"#s\"#c\"$e\"\"$W\"\"#()" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"47,67V.UdH)73\"$S#\"$V\"\"#O\"#G\"#m\"\"!\"$7#\" $%>\"$'>\"#[\"#Q\"#k\"$k\"\"$A#\"#w\"$+\"\"#@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"132()pT%f#G73\"$?#\"$q\"\"#?\"#K\"$L#\"$+#\"#(*\"\"$ \"#n\"#5\"$S\"\"#t\"$,\"\"$7#\"#=\"$l\"\"##*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q'wrote~6\"Q+/tmp/stuffF$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "RSAEncodeFile(\"/tmp/stuff\", \"/tmp/plain2\", privat e);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"5m#HMJ')Ha/G\"73\"\"*\"\"&\"$ L\"\"#(*\"$X#\"#$*\"$G#\"#?\"#:\"#p\"#_\"$@#\"$5#\"$g\"\"$f\"\"$z\"\"# ^" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"5z#o3Lq%G3U573\"#E\"$[#\"#K\"\" \"\"$R\"\"$^\"\"$\"=\"$J\"\"#B\"$f\"\"$9\"\"#u\"$6\"\"$\\#\"$e\"\"$,# \"#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"5()Gl!oCEGw_\"73\"#m\"$?#\"$ 5#\"#;\"$,#\"#Z\"$J#\"#p\"$P#\"#P\"$2#\"$O\"\"#o\"$(>\"#<\"#!*\"\")" } }{PARA 11 "" 1 "" {XPPMATH 20 "6$\"4#G\")y8(=X!Rb73\"$?#\"$]#\"$^#\"$H #\"$Y\"\"$!>\"$>\"\"#_\"#()\"#&*\"$h\"\"$.#\"$/#\"#=\"$&>\"#q\"#w" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$\"5;\\:(H]x8xW\"73\"#r\"$1#\"#Q\"#W\"$ D\"\"$P#\"$K\"\"#*)\"$/#\"\"&\"#%)\"$Y\"\"#`\"$k\"\"$Y#\"#V\"#a" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$\"58<\"\\]u(>ZI:73\"$_\"\"#@\"$)=\"$q \"\"$=#\"$4#\"$f\"F&\"$^\"\"$$>\"$(=\"$F#\"$M#\"#y\"$)>\"$S#\"#K" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$\"(q:2'73\"$N#\"$O#\"#()\"$8#\"#%)\"$, \"\"#C\"$q\"\"#O\"$1\"\"#a\"#F\"$/#\"\"%\"$j\"\"$'>\"#n" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$Q'wrote~6\"Q,/tmp/plain2F$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "19 0 0" 590 }{VIEWOPTS 1 1 0 3 2 1804 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }