{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 "" {TEXT -1 446 "This worksheet shows how \+ to use procedures in the worksheets \"textproc.mws\", \"ngraphs.mws\" \+ and \"mats.mws\" to encrypt a file. First we read in the functions in those files. I'm assuming you have saved the functions in those file s into Maple text files \"textproc\" etc. Or you could save them as M aple internal format files \"textproc.m\" etc. BTW if you put a colon \":\" instead of a semicolon \";\" you wont get all the output. It' s a bit neater." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 14 "read textproc;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(badlistG7>\"\"\"\"\"#\"\"$\"\"%\"\"&\"\"'\"\"(\"\")\"#7\"#8\" #9\"#:\"#;\"#<\"#=\"#>\"#?\"#@\"#A\"#B\"#C\"#D\"#E\"#F\"#G\"#H\"#I\"#J " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*spacelistG7&\"\"*\"#5\"#6\"#K" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+numberlistG7,\"#[\"#\\\"#]\"#^\"# _\"#`\"#a\"#b\"#c\"#d" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*punctlistG 7(\"#L\"#W\"#Y\"#e\"#f\"#j" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%*other listG73-%$opsG6#7,\"#M\"#N\"#O\"#P\"#Q\"#R\"#S\"#T\"#U\"#V\"#X\"#Z\"#g \"#h\"#i\"#k\"#\"*\"##*\"#$*\"#%*\"#&*\"#'*\"$B\"\"$C\"\"$D\"\"$E\"" } }{PARA 12 "" 1 "" {XPPMATH 20 "6#>%+majlettersG7<\"#l\"#m\"#n\"#o\"#p \"#q\"#r\"#s\"#t\"#u\"#v\"#w\"#x\"#y\"#z\"#!)\"#\")\"##)\"#$)\"#%)\"#& )\"#')\"#()\"#))\"#*)\"#!*" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%+minle ttersG7<\"#(*\"#)*\"#**\"$+\"\"$,\"\"$-\"\"$.\"\"$/\"\"$0\"\"$1\"\"$2 \"\"$3\"\"$4\"\"$5\"\"$6\"\"$7\"\"$8\"\"$9\"\"$:\"\"$;\"\"$<\"\"$=\"\" $>\"\"$?\"\"$@\"\"$A\"" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%&trim1GR6# %%textG6$%\"iG%(outtextG6\"F+C%>8%7\"?(8$\"\"\"F2-%%nopsG6#9$%%trueG@( -%'memberG6$&F66#F1%*spacelistG>F.7$-%#opG6#F.\"\"!-F:6$F<%+majletters G>F.7$FA,&FF.7$FA,&F%'ascii1GR6#%%textG6$% \"iG%(outtextG6\"F+C%>8%7\"?(8$\"\"\"F2-%%nopsG6#9$%%trueG@%/&F66#F1\" \"!>F.7$-%#opG6#F.\"#K>F.7$F?,&F:F2\"#kF2-%'RETURNGFAF+F+F+" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "read ngraphs;" }}{PARA 12 " " 1 "" {XPPMATH 20 "6#>%.Parse_ngraphsGR6%%'p_numsG%%baseG%\"nG6(%\"iG %\"jG%\"kG%$lenG%&p_vecG%*new_digitG6\"F1C'>8'-%%ceilG6#*&-%%nopsG6#9$ \"\"\"9&!\"\">8(-%'VectorG6#F4>8&\"\"!?(8$F=F=F4%%trueGC$>FF*&,&FIF=F= F?F=F>F=?(8%F=F=F>FJC$@%1,&FFF=FPF=F9>8)&F<6#FT>FVFG>&FA6#FI,&*&FenF=9 %F=F=FVF=-%'RETURNG6#FAF1F1F1" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%2De compose_ngraphsGR6%%&d_vecG%%baseG%\"nG6'%\"iG%\"jG%*temp_listG%'d_num sG%%tempG6\"F0C&>8'7\">8&7#-%$seqG6$\"\"!/8$;\"\"\"9&?(F=F?F?-&%.Linea rAlgebraG6#%*DimensionG6#9$%%trueGC%>8(&FH6#F=?(8%F;F?,&F@F?F?!\"\"FIC $>&F66#,&F@F?FPFR-%%iremG6$FL9%>FL-%%iquoGFZ>F37$-%#opG6#F3-F\\o6#F6-% 'RETURNGF]oF0F0F0" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "read m ats;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%*Parse_matGR6$%&p_vecG%&v_di mG6'%\"iG%\"jG%&h_dimG%+p_vec_copyG%&p_matG6\"F/C'>8&-%%ceilG6#*&-&%.L inearAlgebraG6#%*DimensionG6#9$\"\"\"9%!\"\">8'-%'VectorG6$*&F?F>F2F>F =>8(-%'MatrixG6$F?F2?(8%F>F>F2%%trueG?(8$F>F>F?FN>&FH6$FPFM&FB6#,&FPF> *&F?F>,&FMF>F>F@F>F>-%'RETURNG6#FHF/F/F/" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%.Decompose_matGR6$%&p_matG%&v_dimG6'%\"iG%\"jG%&h_dimG%&countG %&p_vecG6\"F/C'>8&-&%.LinearAlgebraG6#%0ColumnDimensionG6#9$>8(-%'Vect orG6#*&9%\"\"\"F2FA>8'FA?(8%FAFAF2%%trueG?(8$FAFAF@FFC$>&F;6#FC&F96$FH FE>FC,&FCFAFAFA-%'RETURNG6#F;F/F/F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "h:= readbytes(textfile,infinity);" }}{PARA 12 "" 1 " " {XPPMATH 20 "6#>%\"hG7G\"#%)\"$/\"\"$0\"\"$:\"\"#KF(F)F*\"#(*F*\"$; \"\"$,\"\"$?\"F,F*\"$-\"F(\"$3\"F-F*F,\"$6\"F*\"#)*F-F*F-\"$5\"\"#**\" $9\"\"$@\"\"$7\"F,F-\"$+\"\"#Y\"#5" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "hh:=trim1(h);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#h hG7F\"#?\"\")\"\"*\"#>\"\"!F(F)F*\"\"\"F*F&\"\"&\"#CF&F*\"\"'F(\"#7F,F *F&\"#:F*\"\"#F,F*F,\"#9\"\"$\"#=\"#D\"#;F&F,\"\"%F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "hhh:= Parse_ngraphs(hh,100,2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$hhhG-%'RTABLEG6*\"(WWi&%)anythingG&%'Vect orG6#%'columnG%,rectangularG%.Fortran_orderG7\"\"\"\";F1\"#=" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "h_mat := Parse_mat(hhh,4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&h_matG-%'RTABLEG6$\"(CAw&-%'MATRI XG6#7&7'\"%3?\"$+\"\"$7*\"$+&\"%0?7'\"$>*F2F1\"$9&\"$+%7'\"\"*\"%?C\"% :?\"$=$\"\"!7'\"%+>\"\"'\"\"#\"%;DF<" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 52 "At this point you would insert an affine encryption." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "o _mat := Decompose_mat(h_mat,4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%& o_matG-%'RTABLEG6*\"(;du&%)anythingG&%'VectorG6#%'columnG%,rectangular G%.Fortran_orderG7\"\"\"\";F1\"#?" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "o_vec := Decompose_ngraphs(o_mat,100,2);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%&o_vecG7J\"#?\"\")\"\"*\"#>\"\"!F(F)F*\"\"\"F *F&\"\"&\"#CF&F*\"\"'F(\"#7F,F*F&\"#:F*\"\"#F,F*F,\"#9\"\"$\"#=\"#D\"# ;F&F,\"\"%F*F*F*F*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "o_n ums := ascii1(o_vec);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%'o_numsG7J \"#%)\"#s\"#t\"#$)\"#KF(F)F*\"#lF*F&\"#p\"#))F&F*\"#qF(\"#wF,F*F&\"#zF *\"#mF,F*F,\"#y\"#n\"##)\"#*)\"#!)F&F,\"#oF*F*F*F*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "writebytes(outt,o_nums);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#S" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "fflush(outt);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {MARK "8 1 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }{RTABLE_HANDLES 5624444 5762224 5745716 }{RTABLE M6R0 I4RTABLE_SAVE/5624444X*%)anythingG6"6"\[[[[[t3"3"%3?"$>*""*"%+>"$+""%0?"%?C""'" $7*"$+&"%:?""#F0"$9&"$=$"%;DF,"$+%F& } {RTABLE M6R0 I4RTABLE_SAVE/5762224X,%)anythingG6"6"][[[[[p5"%"&"%3?"$>*""*"%+>"$+""%0?"%?C"" '"$7*"$+&"%:?""#F0"$9&"$=$"%;DF,"$+%""!F7F& } {RTABLE M6R0 I4RTABLE_SAVE/5745716X*%)anythingG6"6"\[[[[[t5"5"%3?"$>*""*"%+>"$+""%0?"%?C""'" $7*"$+&"%:?""#F0"$9&"$=$"%;DF,"$+%""!F7F& }