2" -1 16 "Times" 0 1 0 0 0 0 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Plot Te xt" -1 28 "" 1 8 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 2 2 2 0 0 0 1 }{CSTYLE "Help Underlined It alic" -1 43 "Times" 1 12 0 0 0 0 1 0 1 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small" -1 200 "Times" 0 1 0 0 0 0 1 0 2 2 2 2 0 0 0 1 } {CSTYLE "2D Math Italic" -1 3 "Times" 0 1 0 0 0 0 1 0 2 2 2 2 0 0 0 1 }{CSTYLE "Maple Comment" -1 21 "Courier" 0 1 0 0 0 1 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "2D Math Bold" -1 5 "Times" 0 1 0 0 0 0 0 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle9" -1 201 "Times" 1 12 0 128 128 1 0 0 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle8" -1 202 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle7" -1 203 "Times" 1 12 0 128 128 1 0 0 1 2 2 2 0 0 0 1 }{CSTYLE "Plot Title" -1 27 "" 1 10 0 0 0 0 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle6" -1 204 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 } {CSTYLE "_cstyle5" -1 205 "Courier" 1 10 255 0 255 1 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle4" -1 206 "Times" 1 12 0 128 128 1 0 0 1 2 2 2 0 0 0 1 }{CSTYLE "Help Heading" -1 26 "" 1 14 0 0 0 0 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle3" -1 207 "Times" 1 12 0 128 128 1 0 0 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle2" -1 208 "Courier" 1 12 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }{CSTYLE "_cstyle1" -1 209 "Times" 1 12 0 0 0 0 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "Help Italic Bold" -1 40 "Times" 1 12 0 0 0 0 1 1 0 2 2 2 0 0 0 1 }{CSTYLE "2D Input" -1 19 "Times" 0 1 255 0 0 1 0 0 2 2 1 2 0 0 0 1 }{CSTYLE "Maple Input Placeholder" -1 210 "Courier" 1 12 200 0 200 1 0 1 0 2 1 2 0 0 0 1 }{CSTYLE "Help Normal" -1 30 "Times" 1 12 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "2D Output" -1 20 "Times" 0 1 0 0 255 1 0 0 2 2 2 2 0 0 0 1 }{CSTYLE "Help Menus" -1 36 "" 0 1 0 0 0 1 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "Help Underlined" -1 44 "Times" 1 12 0 0 0 0 0 0 1 2 2 2 0 0 0 1 }{CSTYLE "Text" -1 211 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle10" -1 212 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "Default" -1 38 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "Help Variable" -1 25 "Courier" 0 1 0 0 0 1 2 2 0 2 2 2 0 0 0 1 }{CSTYLE "Help Emphasized" -1 213 "" 0 1 0 0 0 0 1 2 0 2 2 2 0 0 0 1 }{CSTYLE "Help Maple Name" -1 35 "" 0 1 104 64 92 1 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle256" -1 214 "" 0 1 0 0 0 0 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "Help Nonterminal" -1 24 "Courier" 0 1 0 0 0 1 0 1 0 2 2 2 0 0 0 1 }{PSTYLE "_pstyle37" -1 237 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 0 0 1 1 2 2 2 0 0 0 1 }3 0 0 -1 12 12 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle38" -1 238 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }3 0 0 -1 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle39" -1 239 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 0 0 1 0 2 2 2 0 0 0 1 }3 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle40" -1 240 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle41" -1 241 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle42" -1 242 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle43 " -1 243 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle44" -1 244 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle45" -1 245 1 {CSTYLE "" -1 -1 "Cou rier" 0 1 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle46" -1 246 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_psty le47" -1 247 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle48" -1 248 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle49" -1 249 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 } {CSTYLE "_cstyle11" -1 215 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 } {PSTYLE "_pstyle50" -1 250 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 1 0 1 0 2 2 -1 1 }} {SECT 0 {EXCHG {PARA 237 "" 0 "" {TEXT -1 17 "DES Key Expansion" } {TEXT -1 0 "" }}{PARA 238 "" 0 "" {TEXT -1 23 "\251 Mike May, S. J., 2 004" }{TEXT -1 0 "" }}{PARA 238 "" 0 "" {TEXT -1 13 "maymk@slu.edu" } {TEXT -1 0 "" }}{PARA 239 "" 0 "" {TEXT 209 48 "This expands the key f or the example from class." }{TEXT 209 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 208 8 "restart;" }{MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 241 "" 0 "" {TEXT 211 82 "This worksheet does a step by step walk thro ugh of a single key expansion for DES." }{TEXT 211 0 "" }}}{EXCHG {PARA 242 "" 0 "" {TEXT -1 273 "This worksheet assumes that you have a lready executed the DES-ConstantsFunctions.mws and produced the DES.m \+ file, and that this file is stored in the current directory. If Maple cannot read the DES.m file, either find it and move it to the current directory, or rerun the " }{TEXT -1 62 "DES-ConstantsFunctions.mws wo rksheet again to create the file." }{TEXT -1 0 "" }}}{EXCHG {PARA 243 "> " 0 "" {MPLTEXT 1 208 13 "read `DES.m`:" }{MPLTEXT 1 -1 0 "" } {MPLTEXT 1 -1 14 "\ncurrentdir();" }{MPLTEXT 1 -1 0 "" }}}{EXCHG {PARA 242 "" 0 "" {TEXT -1 91 "We want to start with a key in hex and \+ expand it out to the string of 16 keys used for DES." }{TEXT -1 0 "" } {TEXT -1 61 "\nWe first convert the hex string to a 64 bit binary stri ng. " }{TEXT -1 0 "" }}{PARA 242 "" 0 "" {TEXT -1 164 "To avoid the p roblem of leading zeroes getting left off, we add 2^64 to get a leadin g 1 followed by the number we want, then take the substring of the las t 64 bits." }{TEXT -1 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 208 30 "keytest := \"133457799BBCDFF1\";" }{MPLTEXT 1 208 0 "" } {MPLTEXT 1 208 38 "\nkeybin64:= substring(convert(convert(" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 69 "\n 2^64 + convert(keytest, decimal, \+ hex), binary), string), 2..65);" }{MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 242 "" 0 "" {TEXT -1 82 "It is of interest to see the \"real\" key obt ained by removing the parity checkbits." }{TEXT -1 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 208 61 "keybin56 :=cat(seq(substring(ke ybin64,i*8-7..i*8-1),i=1..8));" }{MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 242 "" 0 "" {TEXT -1 79 "However, our functions are set up to apply pe rmutation PC1 to the original key." }{TEXT -1 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 208 29 "PC1key := PC1onKey(keybin64);" } {MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 242 "" 0 "" {TEXT -1 30 "This gets broken into 2 halves" }{TEXT -1 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 208 60 "c0 := substring(PC1key,1..28); d0:=substring(PC1key ,29..56);" }{MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 242 "" 0 "" {TEXT -1 62 "The halves are permuted by leftshifts according to the formula" } {TEXT -1 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 208 49 "c := li nalg[vector](16): d := linalg[vector](16):" }{MPLTEXT 1 208 0 "" } {MPLTEXT 1 208 27 "\nkey := linalg[vector](16):" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 50 "\nc[1] := cat(substring(c0,2..28),substring(c0,1)) :" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 50 "\nd[1] := cat(substring(d0 ,2..28),substring(d0,1)):" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 22 "\n for i from 2 to 16 do" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 53 "\n c [i] := cat(substring(c[i-1],keyshifts[i]+1..28)," }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 51 "\n substring(c[i-1],1..keyshifts[i] )):" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 53 "\n d[i] := cat(substri ng(d[i-1],keyshifts[i]+1..28)," }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 51 "\n substring(d[i-1],1..keyshifts[i])):" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 4 "\nod:" }{MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 242 "" 0 "" {TEXT -1 72 "The keys are then produced by acting PC 2 on the halves put back together" }{TEXT -1 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 208 21 "for i from 1 to 16 do" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 54 "\n key[i] := convert(PC2onKey(cat(c[i],d[i])), string);" }{MPLTEXT 1 208 0 "" }{MPLTEXT 1 208 4 "\nod;" }{MPLTEXT 1 208 0 "" }}}{SECT 1 {PARA 244 "" 0 "" {TEXT -1 8 "Exercise" }}{EXCHG {PARA 241 "" 0 "" {TEXT 211 92 "Start with the key \"0123456789ABCDEF \". Produce three round keys by hand. Verify your work." }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 208 0 "" }}}}{EXCHG {PARA 242 "" 0 "" {TEXT -1 102 "You are now ready to go to worksheets with DES properly \+ done, either DES-Example.mws or DES-Modes.mws." }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 208 0 "" }}}{EXCHG {PARA 245 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 246 "" 0 "" {TEXT 204 0 "" }}{PARA 247 "" 0 "" {TEXT 202 0 "" }}{PARA 248 "" 0 "" {TEXT 212 0 "" }}{PARA 249 "" 0 "" {TEXT 215 0 "" }}{PARA 250 "" 0 "" {TEXT -1 0 "" }}}{MARK "0 0 0" 0 } {VIEWOPTS 1 1 0 15 10 1804 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }@)Y^W4E=ɣz~oPL=/+І@^.3&,. endstream endobj 2064 0 obj << /Length 119 /Filter /FlateDecode >> stream H26R0P0R5T02S y ýl0NrW02R @)Y^W4Eaٷ\@Ky =1;= endstream endobj 2065 0 obj << /Length 137 /Filter /FlateDecode >> stream H2T0P0T5T02S y y ́l0NrW04R @)Y^W4E~?@0hC /@y7 endstream endobj 2066 0 obj << /Length 114 /Filter /FlateDecode >> stream H22R0P0R5T022S y y -@<0NrW0R @)Y^W4E#0$/+І@^.. endstream endobj 2067 0 obj << /Length 107 /Filter /FlateDecode >> stream H24R0P0T52V01S y y l0NrW0*P02RN BIQi*/ qr`4 endstream endobj 2068 0 obj << /Length 122 /Filter /FlateDecode >> stream H2P0B]CK 2PH1*! :9ɓK? Hy@(gz}O_T^.O쁨Oq0:c Ї#Hx\6rx< endstream endobj 2069 0 obj << /Length 105 /Filter /FlateDecode >> stream H24R0P0R5T01S y y @$ MrW04R @)Y^W4EǾv /+и@^.˜(t endstream endobj 2070 0 obj << /Length 127 /Filter /FlateDecode >> stream H24U0P0T5T042S y y l0NrW04R @)Y^W4E??r?^\A=/+и@^.޷( endstream endobj 2071 0 obj << /Length 99 /Filter /FlateDecode >> stream HP0P0R52U0R y yLLNrW0 F@)YZW4E0|yr` endstream endobj 2072 0 obj << /Length 146 /Filter /FlateDecode >> stream H22T0P0T52U02S y y -l0NrW0R F@)Y^W4E? o?yBrp30/+@^.G: endstream endobj 2073 0 obj << /Length 95 /Filter /FlateDecode >> stream H24P0P0T5QP0QH1*2WZ%Lsy> stream H2T0P0T5T042S y y ̀l0NrW04R @)Y^W4Ep<8yA/+и@^.))] endstream endobj 2075 0 obj << /Length 91 /Filter /FlateDecode >> stream H24T0P0Q5TR y yLL ˥`$= -SPBIQi*/?G5 y endstream endobj 2076 0 obj << /Length 133 /Filter /FlateDecode >> stream H22T0P0T52U02S y y -l0NrW0R F@)Y^W4E?~ꁨ=cE! : 3 @v endstream endobj 2077 0 obj << /Length 140 /Filter /FlateDecode >> stream H22T0P0T52U02S y y -l0NrW0R F@)Y^W4E ?"+*!y\vrrG' endstream endobj 2078 0 obj << /Length 132 /Filter /FlateDecode >> stream H24P0P5"SCCC^B^.Cc%HD!9ɓK?\Hy(Y)g}O_T^.OP?@Ǒr0]@ endstream endobj 2079 0 obj << /Length 153 /Filter /FlateDecode >{VERSION 6 1 "Mac OS X" "6.1" } {USTYLETAB {PSTYLE "List Item" -1 14 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 5 }{PSTYLE "Li ne Printed Output" -1 6 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle19 " -1 200 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } 1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle18" -1 201 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle17" -1 202 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE " Help" -1 10 1 {CSTYLE "" -1 -1 "Courier" 1 9 0 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle16" -1 203 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle15" -1 204 1 {CSTYLE "" -1 -1 "Tim es" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 } {PSTYLE "Heading 4" -1 20 1 {CSTYLE "" -1 -1 "Times" 1 10 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle14" -1 205 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 3" -1 5 1 {CSTYLE "" -1 -1 "T imes" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle13" -1 206 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle12" -1 207 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 255 1 0 0 2 2 2 2 0 0 0 1 }3 3 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 4 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle11" -1 208 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle10" -1 209 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 3 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "No rmal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Error" -1 8 1 {CSTYLE "" -1 -1 "Courier" 1 10 255 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "Left Justified Maple Output" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 3 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Maple Plot" -1 13 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Di agnostic" -1 9 1 {CSTYLE "" -1 -1 "Courier" 1 10 64 128 64 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "Author" -1 19 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Cou rier" 1 10 0 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "Warning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_ pstyle38" -1 210 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle37" -1 211 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle36" -1 212 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle35" -1 213 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle34" -1 214 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle33" -1 215 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Dash Item" -1 16 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 3 }{PSTYLE "_pstyl e32" -1 216 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 255 1 0 0 2 2 2 2 0 0 0 1 }3 3 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle31" -1 217 1 {CSTYLE "" -1 -1 "Courier" 0 1 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle30" -1 218 1 {CSTYLE "" -1 -1 "T imes" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle9" -1 219 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyl e8" -1 220 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle7" -1 221 1 {CSTYLE " " -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle6" -1 222 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_psty le5" -1 223 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle4" -1 224 1 {CSTYLE " " -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle3" -1 225 1 {CSTYLE "" -1 -1 "Courier" 0 1 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE " _pstyle2" -1 226 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle1" -1 227 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "Bullet Item" -1 15 1 {CSTYLE "" -1 -1 "T imes" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 2 } {PSTYLE "_pstyle29" -1 228 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle28" -1 229 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 4 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle27" -1 230 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle26" -1 231 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE " _pstyle25" -1 232 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle24" -1 233 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle23" -1 234 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle22" -1 235 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle21" -1 236 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle20" -1 237 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 255 1 0 0 2 2 2 2 0 0 0 1 }3 3 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "Fixed Widt h" -1 17 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{CSTYLE "2D Math Bold Small" -1 10 "T imes" 0 1 0 0 0 0 0 1 2 2 2 2 0 0 0 1 }{CSTYLE "Dictionary Hyperlink" -1 45 "" 0 1 147 0 15 1 2 0 1 2 2 2 0 0 0 1 }{CSTYLE "Output Labels" -1 29 "Times" 1 8 0 0 0 1 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 2 2 2 0 0 0 1 }{CSTYLE "Help Notes" -1 37 "" 0 1 0 0 0 1 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "LaTeX" -1 32 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "2D Comment" -1 18 "Times" 0 1 0 0 0 0 0 0 2 2 2 2 0 0 0 1 }{CSTYLE "Prompt" -1 1 "Courier" 0 1 0 0 0 1 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "Help Italic" -1 42 "Times" 1 12 0 0 0 0 1 0 0 2 2 2 0 0 0 1 }{CSTYLE "Page Number" -1 33 "Times" 0 1 0 0 0 0 0 0 2 2 2 2 0 0 0 1 }{CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }{CSTYLE "Help Bold" -1 39 "Times" 1 12 0 0 0 0 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "Help Underlined Bold" -1 41 "Times" 1 12 0 0 0 0 0 1 1 2 2 2 0 0 0 1 }{CSTYLE "Help Fixed" -1 23 "Courier" 1 10 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "Copyright" -1 34 "Times" 1 10 0 0 0 0 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Small" -1 7 "Times" 0 1 0 0 0 0 0 0 2 2 2 2 0 0 0 1 }{CSTYLE "Popup" -1 31 "" 0 1 0 128 128 1 1 0 1 2 2 2 0 0 0 1 }{CSTYLE "2D Math Symbol 2" -1 16 "Times" 0 1 0 0 0 0 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Plot Text" -1 28 "" 1 8 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 2 2 2 0 0 0 1 }{CSTYLE "Help Underlined Italic" -1 43 "Times" 1 12 0 0 0 0 1 0 1 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small" -1 200 "Times" 0 1 0 0 0 0 1 0 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic" -1 3 "Times" 0 1 0 0 0 0 1 0 2 2 2 2 0 0 0 1 }{CSTYLE "Maple Comment" -1 21 "Couri er" 0 1 0 0 0 1 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "2D Math Bold" -1 5 "Time s" 0 1 0 0 0 0 0 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle9" -1 201 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle8" -1 202 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle7" -1 203 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Plot Title" -1 27 "" 1 10 0 0 0 0 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle6" -1 204 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle5" -1 205 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle4" -1 206 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Heading" -1 26 "" 1 14 0 0 0 0 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle3" -1 207 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle2" -1 208 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle1" -1 209 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }{CSTYLE "Help Italic Bold" -1 40 "Times" 1 12 0 0 0 0 1 1 0 2 2 2 0 0 0 1 }{CSTYLE "2D Input" -1 19 "Times" 0 1 255 0 0 1 0 0 2 2 1 2 0 0 0 1 }{CSTYLE "Maple Input Placeholder" -1 210 "Courier " 1 12 200 0 200 1 0 1 0 2 1 2 0 0 0 1 }{CSTYLE "Help Normal" -1 30 "T imes" 1 12 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "2D Output" -1 20 "Tim es" 0 1 0 0 255 1 0 0 2 2 2 2 0 0 0 1 }{CSTYLE "Help Menus" -1 36 "" 0 1 0 0 0 1 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle25" -1 211 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle24" -1 212 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle23" -1 213 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle22" -1 214 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle21" -1 215 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle20" -1 216 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "Help Underlined" -1 44 "T imes" 1 12 0 0 0 0 0 0 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle19" -1 217 "Ti mes" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle18" -1 218 "Tim es" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle17" -1 219 "Time s" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle16" -1 220 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle15" -1 221 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Text" -1 222 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle14" -1 223 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle13" -1 224 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle12" -1 225 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle11" -1 226 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle10" -1 227 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Default" -1 38 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "Help Variable" -1 25 "Courier" 0 1 0 0 0 1 2 2 0 2 2 2 0 0 0 1 }{CSTYLE "Help Emphasized" -1 228 "" 0 1 0 0 0 0 1 2 0 2 2 2 0 0 0 1 }{CSTYLE "Help Maple Name" -1 35 "" 0 1 104 64 92 1 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle256" -1 229 "" 0 1 0 0 0 0 2 0 0 2 2 2 0 0 0 1 }{CSTYLE "Help Nonterminal" -1 24 "Courier" 0 1 0 0 0 1 0 1 0 2 2 2 0 0 0 1 }{PSTYLE "_pstyle39" -1 238 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{CSTYLE "_cstyle26" -1 230 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }{PSTYLE "_pstyle40" -1 239 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{CSTYLE "_cst yle27" -1 231 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{PSTYLE "_psty le41" -1 240 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{CSTYLE "_cstyle28" -1 232 "Cou rier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{PSTYLE "_pstyle42" -1 241 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{CSTYLE "_cstyle29" -1 233 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{PSTYLE "_pstyle43" -1 242 1 {CSTYLE "" -1 -1 "Time s" 1 18 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 8 4 2 0 2 0 2 2 -1 1 } {CSTYLE "_cstyle30" -1 234 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {PSTYLE "_pstyle44" -1 243 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle45" -1 244 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle46" -1 245 1 {CSTYLE "" -1 -1 "Courier" 0 1 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle47" -1 246 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle48" -1 247 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle49" -1 248 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle50" -1 249 1 {CSTYLE "" -1 -1 "Tim es" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle51" -1 250 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle52" -1 251 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle53" -1 252 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{CSTYLE "_cstyle31" -1 235 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{PSTYLE "_pstyle54" -1 253 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 1 0 1 0 2 2 -1 1 }} {SECT 0 {EXCHG {PARA 238 "" 0 "" {TEXT 230 23 "DES - Diffusion testing " }{TEXT 230 0 "" }}{PARA 239 "" 0 "" {TEXT 231 36 "\251Mike May, S.J. , 2004, maymk@slu.edu" }{TEXT 231 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 8 "restart;" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 241 " " 0 "" {TEXT 233 416 "This worksheet assumes that you have already cre ated the DES.m file or have copied it to the current directory. It wo uld be useful to look at the worksheet 3-BabyDES-StatAnal.mws before d oing this worksheet. As with that worksheet we will look at changing \+ each bit of the plaintext, one at a time and seeing how it changes the ciphertext. The bits should change as if each bit were an independen t random variable." }{TEXT 233 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 13 "read `DES.m`:" }{MPLTEXT 1 232 0 "" }}}{SECT 1 {PARA 242 "" 0 "" {TEXT 234 17 "Preliminary Tools" }{TEXT 234 0 "" }} {SECT 1 {PARA 243 "" 0 "" {TEXT -1 32 "Statistical background - Refres h" }{TEXT -1 0 "" }}{EXCHG {PARA 244 "" 0 "" {TEXT 206 446 "Recall, th at if each bit is changed with a probability of .5, then the sum of a \+ collection of bits should produce a binomial distribution. Maple lets us produce random numbers from such a distribution. We have been loo king at numbers that we hope are the result of counting the number of \+ successes in 64 trials, each of which has a .5 chance of success. We \+ expect to get 32 = 64*.5, but will get a variety of answers with 32 be ing most common." }{TEXT -1 0 "" }{TEXT -1 76 "\nWe expect the standar d deviation of this measure to be sqrt(64*.5*.5) or 4." }{TEXT -1 0 "" }{TEXT -1 110 "\nConsider what happens if we take 400 such fake lists and do basic descriptive statistics on the set of lists." }{TEXT -1 0 "" }}}{EXCHG {PARA 245 "> " 0 "" {MPLTEXT 1 0 51 "distList := [stats [random,binomiald[64, .5]](400)]:" }{MPLTEXT 1 0 0 "" }{MPLTEXT 1 0 35 "\nstats[transform, tally](distList);" }{MPLTEXT 1 0 0 "" } {MPLTEXT 1 0 40 "\nevalf(stats[describe, mean](distList));" }{MPLTEXT 1 0 0 "" }{MPLTEXT 1 0 53 "\nevalf(stats[describe, standarddeviation]( distList));" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 246 "" 0 "" {TEXT 222 266 "We expect 95% of the samples to be within 1.96 standard deviation s of the mean. In the case above we expect 380 o the 400 samples to b e between 24.08 and 39.92. (In counting, an instance at x should be t hought of as being evenly distributed between x-.5 and x+.5.)" }{TEXT 222 0 "" }}}{EXCHG {PARA 247 "" 0 "" {TEXT 222 466 "We can construct a confidence interval for the mean in a case like this. The If our sam ple is random, the observed mean should be within 1.96 standard deviat ions of the true mean 95% of the time. If we are looking at a large s ample as above the standard deviation for the average of the means (th e standard error) of n samples is sqrt(64*.5*.5/(2*n)). Thus in the c ase above with 400 samples, the observed mean should be within .28 of \+ 32.0 for 19 out of 20 tries." }{TEXT 222 0 "" }}}{EXCHG {PARA 245 "> " 0 "" {MPLTEXT 1 0 28 "sqrt(64*.5*.5/(2*400))*1.96;" }{MPLTEXT 1 0 0 " " }}}{EXCHG {PARA 246 "" 0 "" {TEXT 222 166 "We will be interested in \+ taking the mean of 64 samples. (We change each bit and look at the re sults.) In that case the confidence interval is 32 plus or minus .693 ." }}}{EXCHG {PARA 245 "> " 0 "" {MPLTEXT 1 -1 27 "sqrt(64*.5*.5/(2*64 ))*1.96;" }{MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 243 "" 0 "" {TEXT -1 35 "Counting the number of bits changed" }{TEXT -1 0 "" }}{EXCHG {PARA 241 "" 0 "" {TEXT 233 244 "To change the plaintext one bit at a \+ time, it is convenient to be able to produce 64 bit hex words that ar e all zeroes except for a single bit. The 64 bits correspond to the p owers of 2 from 0 to 63. We get the zero word with an input of 64." } {TEXT 233 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 23 "oneBit In64 := intVal ->" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 63 "\n substr ing(convert(convert(2^64+2^intVal,hex),string),2..17):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 25 "\nlowBit := oneBitIn64(0);" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 27 "\nhighBit := oneBitIn64(63);" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 28 "\nzeroWord := oneBitIn64(64);" } {MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 241 "" 0 "" {TEXT 233 86 "For our \+ initial discussion we will use the zero word for both the key and the \+ message." }{TEXT 233 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 20 "keytest := zeroWord:" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 21 "\nmessage := zeroWord:" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 29 "\nke y := keyexpander(keytest):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 34 " \ncipher1 := qdDEShex(message,key);" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 241 "" 0 "" {TEXT 233 128 "We would like to be able to convert a hex word to a list of 64 zeroes and ones. We would also like to coun t the number of ones." }{TEXT 233 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 37 "hexStringToBitList := proc(hexString)" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 19 "\n local decValue:" }{MPLTEXT 1 232 0 " " }{MPLTEXT 1 232 47 "\n decValue := convert(hexString,decimal,hex): " }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 50 "\n [seq(iquo(decValue,2^( 64-i)) mod 2, i=1..64)];" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 10 "\ne nd proc:" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 49 "\nnumBitsBinString \+ := bitList -> add(i,i=bitList):" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 39 "bitList := hexStringToBitList(cipher1 );" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 38 "\nnumBits := numBitsBinSt ring(bitList);" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 241 "" 0 "" {TEXT 233 97 "We recall that in constructing our DES functions we prod uced a function for XORing two hex words." }{TEXT 233 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 8 "cipher1;" }{MPLTEXT 1 232 0 "" } {MPLTEXT 1 232 26 "\nxor64hex(cipher1,lowBit);" }{MPLTEXT 1 232 0 "" } {MPLTEXT 1 232 27 "\nxor64hex(cipher1,highBit);" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 245 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{SECT 1 {PARA 242 "" 0 "" {TEXT 234 48 "Counting the number of bits changed in each \+ word" }{TEXT 234 0 "" }}{EXCHG {PARA 241 "" 0 "" {TEXT 233 35 "Followi ng the procedure we used in " }{TEXT 233 22 "3-BabyDES-StatAnal.mws" } {TEXT 233 461 " we look at how bits of ciphertext change when we cha nge each bit of the plaintext. We first look at how many bits have be en changed in each word of ciphertext. In the results of the code bel ow each line has the plaintext with a single changed bit, the new ciph ertext, the XOR of the new and old ciphertexts and the number of bits \+ changed. We also collect the number of bits changed so that we can co mpute the mean and standard deviations of those numbers." }{TEXT 233 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 34 "bitChangeList := [seq(0,i=1..64)]:" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 30 "\nkey := \+ keyexpander(zeroword):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 35 "\ncip her1 := qdDEShex(zeroword,key);" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 27 "\nfor intVal from 0 to 63 do" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 32 "\n mess1 := oneBitIn64(intVal):" }{MPLTEXT 1 232 0 "" } {MPLTEXT 1 232 34 "\n cipher := qdDEShex(mess1,key):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 40 "\n diffHex := xor64hex(cipher1,cipher): " }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 22 "\n numBitsChanged := " } {MPLTEXT 1 232 16 "numBitsBinString" }{MPLTEXT 1 232 30 "(hexStringToB itList(diffHex)):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 50 "\n print (mess1, cipher, diffHex, numBitsChanged):" }{MPLTEXT 1 232 0 "" } {MPLTEXT 1 232 47 "\n bitChangeList[intVal+1] := numBitsChanged:" } {MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 8 "\nend do:" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 21 "\nsort(bitChangeList);" }{MPLTEXT 1 232 0 "" }}} {EXCHG {PARA 241 "" 0 "" {TEXT 233 219 "Note that changing one input b it always changed between 23 and 41 bits of output. If the bit change s are random, we expect the distribution above to have a mean of 64*.5 =32 and a standard deviation of sqrt(64*.5*.5)=4." }{TEXT 233 0 "" }}} {EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 44 "evalf(stats[describe, me an](bitChangeList));" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 58 "\nevalf (stats[describe, standarddeviation](bitChangeList));" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 241 "" 0 "" {TEXT 233 70 "At a first level the bi t changes seem to behave as if they are random." }{TEXT 233 0 "" }}} {EXCHG {PARA 241 "" 0 "" {TEXT 233 93 "We can create a procedure that \+ will gather the same data with an arbitrary plaintext and key." } {TEXT 233 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 27 "intToH exString := intVal ->" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 62 "\n s ubstring(convert(convert(intVal+2^64,hex),string),2..17):" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 40 "bitChangeC ounter := proc(plaintext, key)" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 57 "\n local keyExpanded, bitChangeList, cipher1, i, mess1, " } {MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 47 "\n cipher, diffHex, numBi tsChanged, intVal:" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 36 "\n keyE xpanded := keyexpander(key):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 38 "\n bitChangeList := [seq(0,i=1..64)]:" }{MPLTEXT 1 232 0 "" } {MPLTEXT 1 232 47 "\n cipher1 := qdDEShex(plaintext,keyExpanded);" } {MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 30 "\n for intVal from 0 to 63 d o" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 61 "\n mess1 := xor64hex( intToHexString(2^intVal),plaintext):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 45 "\n cipher := qdDEShex(mess1,keyExpanded):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 43 "\n diffHex := xor64hex(cipher1,ciphe r):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 25 "\n numBitsChanged : = " }{MPLTEXT 1 232 16 "numBitsBinString" }{MPLTEXT 1 232 30 "(hexStri ngToBitList(diffHex)):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 50 "\n \+ bitChangeList[intVal+1] := numBitsChanged:" }{MPLTEXT 1 232 0 "" } {MPLTEXT 1 232 11 "\n end do:" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 18 "\n bitChangeList;" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 5 "\nend :" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 43 "plainStart := intToHexString(rand(2^64)());" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 37 "\nkey := intToHexString(rand(2^64)());" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 57 "bitChangeL ist := sort(bitChangeCounter(plainStart, key));" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 44 "evalf(stats[describe, mean](bitChangeList));" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 58 "\nev alf(stats[describe, standarddeviation](bitChangeList));" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 246 "" 0 "" {TEXT 222 67 "We can check a numb er of random words to see a pattern of behavior." }}}{EXCHG {PARA 245 "> " 0 "" {MPLTEXT 1 0 49 "print(cat(\"Base word, Key used, \+ \"," }{MPLTEXT 1 0 50 "\n \" Bit Change mean, Bit Cha nge SD\")):" }{MPLTEXT 1 0 22 "\nfor i from 1 to 10 do" }{MPLTEXT 1 0 47 "\n plainStart := intToHexString(rand(2^64)()):" }{MPLTEXT 1 0 40 "\n key := intToHexString(rand(2^64)()):" }{MPLTEXT 1 0 61 "\n \+ bitChangeList := sort(bitChangeCounter(plainStart, key));" }{MPLTEXT 1 0 60 "\n listMean := evalf(stats[describe, mean](bitChangeList));" }{MPLTEXT 1 0 71 "\n listSD := evalf(stats[describe, standarddeviat ion](bitChangeList)):" }{MPLTEXT 1 0 45 "\n print(plainStart, key, l istMean, listSD);" }{MPLTEXT 1 0 8 "\nend do:" }}}{EXCHG {PARA 245 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 243 "" 0 "" {TEXT -1 8 "Exer cise" }{TEXT -1 0 "" }}{EXCHG {PARA 246 "" 0 "" {TEXT 222 234 "1) Do t he analysis above on 20 randomly chosen pairs of plaintexts and keywor ds. What is the 95% confidence interval for the means of number of bi ts changed? In how many of the 20 cases does the mean fall in the con fidence interval?" }{TEXT 222 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 0 "" }}}}}{SECT 1 {PARA 242 "" 0 "" {TEXT 234 55 "Count ing the number of words for which a bit is changed" }{TEXT 234 0 "" }} {EXCHG {PARA 241 "" 0 "" {TEXT 233 79 "A second way to look at the sam e data looks at how many words turn on each bit." }{TEXT 233 0 "" }}} {EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 33 "bitCountList := [seq(0,i =1..64)]:" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 30 "\nkey := keyexpand er(zeroword):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 27 "\nfor intVal f rom 0 to 64 do" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 32 "\n mess1 := oneBitIn64(intVal):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 34 "\n ci pher := qdDEShex(mess1,key):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 42 "\n bitList := hexStringToBitList(cipher):" }{MPLTEXT 1 232 0 "" } {MPLTEXT 1 232 52 "\n bitCountList := zip(`+`, bitCountList, bitList ):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 8 "\nend do:" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 14 "\nbitCountList;" }{MPLTEXT 1 232 0 "" }}} {EXCHG {PARA 241 "" 0 "" {TEXT 233 310 "Once again we check the mean a nd standard deviation. We expect the number of words that use each bi t to average 32.5 and have a standard deviation of sqrt(65*.5*.5), whi ch is a little more than 4. (The expected standard deviation if each \+ number were obtained from 65 events with probability .5 is sqrt(65/4). " }{TEXT 233 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 43 "eva lf(stats[describe, mean](bitCountList));" }{MPLTEXT 1 232 0 "" } {MPLTEXT 1 232 57 "\nevalf(stats[describe, standarddeviation](bitCount List));" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 241 "" 0 "" {TEXT 233 81 "We can also test the same process starting with a randomly chosen \+ key and message" }{TEXT 233 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 35 "bitCounter2 := proc(plaintext, key)" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 56 "\n local keyExpanded, bitCountList, cip her1, i, mess1, " }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 31 "\n cip her, bitList, intVal:" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 36 "\n k eyExpanded := keyexpander(key):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 37 "\n bitCountList := [seq(0,i=1..64)]:" }{MPLTEXT 1 232 0 "" } {MPLTEXT 1 232 30 "\n for intVal from 0 to 64 do" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 61 "\n mess1 := xor64hex(intToHexString(2^intV al),plaintext):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 45 "\n ciph er := qdDEShex(mess1,keyExpanded):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 45 "\n bitList := hexStringToBitList(cipher):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 55 "\n bitCountList := zip(`+`, bitCount List, bitList):" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 11 "\n end do: " }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 17 "\n bitCountList;" } {MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 5 "\nend:" }{MPLTEXT 1 232 0 "" }} }{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 43 "plainStart := intToHexS tring(rand(2^64)());" }{MPLTEXT 1 232 0 "" }{MPLTEXT 1 232 37 "\nkey : = intToHexString(rand(2^64)());" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 45 "bitCountList := bitCounter2(plainStar t, key);" }{MPLTEXT 1 232 44 "\nevalf(stats[describe, mean](bitCountLi st));" }{MPLTEXT 1 232 57 "\nevalf(stats[describe, standarddeviation]( bitCountList));" }{MPLTEXT 1 232 0 "" }}}{EXCHG {PARA 246 "" 0 "" {TEXT 222 116 "We can also try this with a series of randomly chosen p airs of plaintexts and keys to look for patterns of behavior." }}} {EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 49 "print(cat(\"Base word, \+ Key used, \"," }{MPLTEXT 1 232 48 "\n \" Bit Co unt mean, Bit Count SD\")):" }{MPLTEXT 1 232 22 "\nfor i from 1 to \+ 10 do" }{MPLTEXT 1 232 47 "\n plainStart := intToHexString(rand(2^64 )()):" }{MPLTEXT 1 232 40 "\n key := intToHexString(rand(2^64)()):" }{MPLTEXT 1 232 26 "\n bitChangeList := sort(" }{MPLTEXT 1 232 11 "b itCounter2" }{MPLTEXT 1 232 19 "(plainStart, key));" }{MPLTEXT 1 232 60 "\n listMean := evalf(stats[describe, mean](bitChangeList));" } {MPLTEXT 1 232 71 "\n listSD := evalf(stats[describe, standarddeviat ion](bitChangeList)):" }{MPLTEXT 1 232 45 "\n print(plainStart, key, listMean, listSD);" }{MPLTEXT 1 232 8 "\nend do:" }}}{SECT 1 {PARA 248 "" 0 "" {TEXT -1 8 "Exercise" }{TEXT -1 0 "" }}{EXCHG {PARA 246 "" 0 "" {TEXT 222 236 "2) Do the analysis above on 20 randomly chosen pa irs of plaintexts and keywords. What is the 95% confidence interval f or the means of number times a bit is on? In how many of the 20 cases does the mean fall in the confidence interval?" }{TEXT 222 0 "" }}} {EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 0 "" }}}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 0 "" }}}}{EXCHG {PARA 240 "> " 0 "" {MPLTEXT 1 232 0 "" }}}{PARA 249 "" 0 "" {TEXT 226 0 "" }}{PARA 250 "" 0 "" {TEXT 219 0 "" }}{PARA 251 "" 0 "" {TEXT 211 0 "" }}{PARA 252 "" 0 "" {TEXT 235 0 "" }}{PARA 253 "" 0 "" {TEXT -1 0 "" }}}{MARK "0 0 0" 0 } {VIEWOPTS 1 1 0 15 10 1804 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }eDecode >> stream H26R0P0R5T02S y ýl0NrW02R @)Y^W4Eaٷ\@Ky =1;= endstream endobj 2221 0 obj << /Length 137 /Filter /FlateDecode >> stream H2T0P0T5T02S y y ́l0NrW04R @)Y^W4E~?@0hC /@y7 endstream endobj 2222 0 obj << /Length 114 /Filter /FlateDecode >> stream H22R0P0R5T022S y y -@<0NrW0R @)Y^W4E#0$/+І@^.. endstream endobj 2223 0 obj << /Length 107 /Filter /FlateDecode >> stream H24R0P0T52V01S y y l0NrW0*P02RN BIQi*/ qr`4 endstream endobj 2224 0 obj << /Length 122 /Filter /FlateDecode >> stream H2P0B]CK 2PH1*! :9ɓK? Hy@(gz}O_T^.O쁨Oq0:c Ї#Hx\6rx< endstream endobj 2225 0 obj << /Length 105 /Filter /FlateDecode >> stream H24R0P0R5T01S y y @$ MrW04R @)Y^W4EǾv /+и@^.˜(t endstream endobj 2226 0 obj << /Length 127 /Filter /FlateDecode >> stream H24U0P0T5T042S y y l0NrW04R @)Y^W4E??r?^\A=/+и@^.޷( endstream endobj 2227 0 obj << /Length 99 /Filter /FlateDecode >> stream HP0P0R52U0R y yLLNrW0 F@)YZW4E0|yr` endstream endobj 2228 0 obj << /Length 146 /Fil{VERSION 6 1 "Mac OS X" "6.1" } {USTYLETAB {PSTYLE "List Item" -1 14 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 5 }{PSTYLE "Li ne Printed Output" -1 6 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle19 " -1 200 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle18" -1 201 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle17" -1 202 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Help" -1 10 1 {CSTYLE "" -1 -1 "Courier" 1 9 0 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle16" -1 203 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 255 1 0 0 2 2 2 2 0 0 0 1 }3 3 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle15" -1 204 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "He ading 4" -1 20 1 {CSTYLE "" -1 -1 "Times" 1 10 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle14" -1 205 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 3" -1 5 1 {CSTYLE "" -1 -1 "Times " 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle13" -1 206 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle12" -1 207 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 4 2 0 2 0 2 2 -1 1 }{PSTYLE "_pst yle11" -1 208 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle10" -1 209 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "T imes" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 3 0 0 0 0 2 0 2 0 2 2 -1 1 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Error" -1 8 1 {CSTYLE "" -1 -1 "Courier" 1 10 255 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "Left Justified Maple Output" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 3 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Maple Plot" -1 13 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle40" -1 210 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "Diagnostic" -1 9 1 {CSTYLE "" -1 -1 "Courier" 1 10 64 128 64 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "Author" -1 19 1 {CSTYLE " " -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 } {PSTYLE "Warning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle39 " -1 211 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle38" -1 212 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle37" -1 213 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pst yle36" -1 214 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 4 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle35" -1 215 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle34" -1 216 1 {CSTYLE "" -1 -1 "Tim es" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle33" -1 217 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Dash Ite m" -1 16 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 } 1 1 0 0 3 3 2 0 2 0 2 2 -1 3 }{PSTYLE "_pstyle32" -1 218 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle31" -1 219 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "_pst yle30" -1 220 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle9" -1 221 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle8" -1 222 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle7" -1 223 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle6" -1 224 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle5" -1 225 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle4" -1 226 1 {CSTYLE "" -1 -1 "Courier" 0 1 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pst yle3" -1 227 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle2" -1 228 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle1" -1 229 1 {CSTYLE "" -1 -1 "Time s" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 } {PSTYLE "Bullet Item" -1 15 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 2 }{PSTYLE "Normal256" -1 230 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle29" -1 231 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle28" -1 232 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle27 " -1 233 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } 1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle26" -1 234 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle25" -1 235 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pst yle24" -1 236 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle23" -1 237 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle22" -1 238 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle21" -1 239 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle20" -1 240 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 } 3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "Fixed Width" -1 17 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{CSTYLE "2D Math Bold Small" -1 10 "Times" 0 1 0 0 0 0 0 1 2 2 2 2 0 0 0 1 } {CSTYLE "Dictionary Hyperlink" -1 45 "" 0 1 147 0 15 1 2 0 1 2 2 2 0 0 0 1 }{CSTYLE "Output Labels" -1 29 "Times" 1 8 0 0 0 1 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 2 2 2 0 0 0 1 }{CSTYLE "Help Notes" -1 37 "" 0 1 0 0 0 1 0 1 0 2 2 2 0 0 0 1 } {CSTYLE "LaTeX" -1 32 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "2D \+ Comment" -1 18 "Times" 0 1 0 0 0 0 0 0 2 2 2 2 0 0 0 1 }{CSTYLE "Promp t" -1 1 "Courier" 0 1 0 0 0 1 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "Help Itali c" -1 42 "Times" 1 12 0 0 0 0 1 0 0 2 2 2 0 0 0 1 }{CSTYLE "Page Numbe r" -1 33 "Times" 0 1 0 0 0 0 0 0 2 2 2 2 0 0 0 1 }{CSTYLE "Maple Input " -1 0 "Courier" 0 1 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }{CSTYLE "Help Bold " -1 39 "Times" 1 12 0 0 0 0 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "Help Underl ined Bold" -1 41 "Times" 1 12 0 0 0 0 0 1 1 2 2 2 0 0 0 1 }{CSTYLE "He lp Fixed" -1 23 "Courier" 1 10 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "C opyright" -1 34 "Times" 1 10 0 0 0 0 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D \+ Math Small" -1 7 "Times" 0 1 0 0 0 0 0 0 2 2 2 2 0 0 0 1 }{CSTYLE "Pop up" -1 31 "" 0 1 0 128 128 1 1 0 1 2 2 2 0 0 0 1 }{CSTYLE "ParagraphSt yle3" -1 200 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Paragr aphStyle2" -1 201 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "P aragraphStyle1" -1 202 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "2D Math Symbol 2" -1 16 "Times" 0 1 0 0 0 0 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Plot Text" -1 28 "" 1 8 0 0 0 0 0 0 0 2 2 2 0 0 0 1 } {CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 2 2 2 0 0 0 1 } {CSTYLE "Help Underlined Italic" -1 43 "Times" 1 12 0 0 0 0 1 0 1 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small" -1 203 "Times" 0 1 0 0 0 0 1 0 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic" -1 3 "Times" 0 1 0 0 0 0 1 0 2 2 2 2 0 0 0 1 }{CSTYLE "Maple Comment" -1 21 "Courier" 0 1 0 0 0 1 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "2D Math Bold" -1 5 "Times" 0 1 0 0 0 0 0 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle9" -1 204 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle8" -1 205 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle7" -1 206 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Plot Title" -1 27 "" 1 10 0 0 0 0 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle6" -1 207 "Times" 1 12 0 128 128 1 2 2 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle5" -1 208 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle4" -1 209 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle37" -1 210 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "Help Heading" -1 26 "" 1 14 0 0 0 0 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle3" -1 211 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle36" -1 212 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle2" -1 213 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle35" -1 214 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle1" -1 215 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle34" -1 216 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle33" -1 217 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle32" -1 218 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle31" -1 219 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle30" -1 220 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Italic Bold" -1 40 "Times" 1 12 0 0 0 0 1 1 0 2 2 2 0 0 0 1 }{CSTYLE "2D Input" -1 19 "Times" 0 1 255 0 0 1 0 0 2 2 1 2 0 0 0 1 }{CSTYLE "Maple Input Placeholder" -1 221 "Courier" 1 12 200 0 200 1 0 1 0 2 1 2 0 0 0 1 }{CSTYLE "Help Normal" -1 30 "Times" 1 12 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "2D Output" -1 20 "Times" 0 1 0 0 255 1 0 0 2 2 2 2 0 0 0 1 }{CSTYLE "Help Menus" -1 36 "" 0 1 0 0 0 1 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle29" -1 222 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle28" -1 223 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle27" -1 224 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle26" -1 225 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle25" -1 226 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle24" -1 227 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle23" -1 228 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle22" -1 229 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle21" -1 230 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle20" -1 231 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Underlined" -1 44 "Times " 1 12 0 0 0 0 0 0 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle19" -1 232 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 }{CSTYLE "_cstyle18" -1 233 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle17" -1 234 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle16" -1 235 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle15" -1 236 "Times" 1 12 0 128 128 1 2 2 1 2 2 2 0 0 0 1 }{CSTYLE "Text" -1 237 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle14" -1 238 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle13" -1 239 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle12" -1 240 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle11" -1 241 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle10" -1 242 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Default" -1 38 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{CSTYLE "Help Variable" -1 25 "Courier" 0 1 0 0 0 1 2 2 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle259" -1 243 "" 0 1 0 0 0 0 2 0 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle258" -1 244 "" 0 1 0 0 0 0 2 0 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle257" -1 245 "" 0 1 0 0 0 0 2 0 0 2 2 2 0 0 0 1 }{CSTYLE "Help Emphasized" -1 246 "" 0 1 0 0 0 0 1 2 0 2 2 2 0 0 0 1 }{CSTYLE "Help Maple Name" -1 35 "" 0 1 104 64 92 1 0 1 0 2 2 2 0 0 0 1 }{CSTYLE "_cstyle256" -1 247 "" 0 1 0 0 0 0 2 0 0 2 2 2 0 0 0 1 }{CSTYLE "Help Nonterminal" -1 24 "Courier" 0 1 0 0 0 1 0 1 0 2 2 2 0 0 0 1 }{PSTYLE "_pstyle41" -1 241 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 } {CSTYLE "_cstyle38" -1 248 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 } {PSTYLE "_pstyle42" -1 242 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{CSTYLE "_cstyle39" -1 249 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{PSTYLE "_pstyle43" -1 243 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{CSTYLE "_cstyle40" -1 250 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{PSTYLE "_pstyle44" -1 244 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{CSTYLE "_cstyle41" -1 251 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{PSTYLE "_pstyle45" -1 245 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{CSTYLE "_cstyle42" -1 252 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{PSTYLE " _pstyle46" -1 246 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{CSTYLE "_cstyle43" -1 253 "Tim es" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{PSTYLE "_pstyle47" -1 247 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 8 4 2 0 2 0 2 2 -1 1 }{CSTYLE "_cstyle44" -1 254 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{PSTYLE "_pstyle48" -1 248 1 {CSTYLE "" -1 -1 "Cour ier" 0 1 255 0 0 1 0 1 0 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 } {PSTYLE "_pstyle49" -1 249 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 8 2 2 0 2 0 2 2 -1 1 }{CSTYLE "_cstyle45" -1 255 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{PSTYLE "_pstyle50" -1 250 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle51" -1 251 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle52" -1 252 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{CSTYLE "_cs tyle46" -1 256 "Times" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }{PSTYLE "_psty le53" -1 253 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 1 0 1 0 2 2 -1 1 }} {SECT 0 {EXCHG {PARA 241 "" 0 "" {TEXT 248 15 "DES, an example" } {TEXT 248 0 "" }}{PARA 242 "" 0 "" {TEXT 249 38 "\251 Mike May, S. J., 2004, maymk@slu.edu" }{TEXT 249 0 "" }}}{EXCHG {PARA 243 "" 0 "" {TEXT 250 37 "Time to walk through a DES conversion" }{TEXT 250 0 "" } }}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 8 "restart:" }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 102 "This worksheet wal ks through the example of using DES that is on the handouts we have be en looking at." }{TEXT 252 0 "" }}}{EXCHG {PARA 246 "" 0 "" {TEXT 253 221 "This worksheet assumes that you understand key expansion. On thi s worksheet it is done with a single command that suppresses all the i ntermediate steps. It is done in full detail in the DES-KeyExpansion. mws worksheet. " }{TEXT 253 0 "" }}{PARA 245 "" 0 "" {TEXT 252 240 "T his worksheet also assume that you have been through the worksheets on DES constants and DES functions and have created the DES.m file that \+ contains those functions and constants. (If this is not true you shou ld run those worksheets now.)" }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> \+ " 0 "" {MPLTEXT 1 251 13 "read `DES.m`:" }{MPLTEXT 1 251 0 "" }}} {SECT 1 {PARA 247 "" 0 "" {TEXT 254 13 "Initial setup" }{TEXT 254 0 "" }}{EXCHG {PARA 245 "" 0 "" {TEXT 252 69 "We start with a key in hex w hich we expand into a list of round keys." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 30 "keytest := \"133457799BBCDFF1\" ;" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 29 "\nkey := keyexpander(keyte st):" }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 63 "T hen we establish a message in hex, which we convert to binary." } {TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 28 "mess1 \+ := \"0123456789ABCDEF\";" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 25 "\nb in1 := bin64hex(mess1);" }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 28 "Next we apply permutation IP" }{TEXT 252 0 "" }}} {EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 23 "bin2 := InitPerm(bin1);" }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 28 "Now we can define R0 and L0." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 29 "R0 := substring(bin2,33..64);" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 29 "\nL0 := substring(bin2,1..32);" }{MPLTEXT 1 251 0 "" }}}}{SECT 1 {PARA 247 "" 0 "" {TEXT 254 20 "Encrypting one round" }{TEXT 254 0 "" }}{EXCHG {PARA 245 "" 0 "" {TEXT 252 52 "We need to e xpand R0 and xor the result with key[1]." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 13 "expander(R0);" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 8 "\nkey[1];" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 36 "\nbin3 := xor48(key[1],expander(R0));" }{MPLTEXT 1 251 0 "" }} }{EXCHG {PARA 245 "" 0 "" {TEXT 252 130 "Next we want to take the 48 b it result and break it into a vector of 8 6 bit words. Each word is t hen used to get an s-box value." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 " > " 0 "" {MPLTEXT 1 251 21 "vec1 := prodbs(bin3);" }{MPLTEXT 1 251 0 " " }{MPLTEXT 1 251 58 "\nvec2 := linalg[vector](8,[seq(SBox[i][vec1[i]] ,i=1..8)]);" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 1 "\n" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 56 "Next we want to concatenate together t he values in vec2." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 34 "bin4 := cat(seq(vec2[i],i=1..8)); " }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 90 "The result of the c oncatenation is then acted on by the permutation P to give the f-value ." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 18 "f1 := PPerm(bin4);" }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 57 "The result is XORed with L0 to give R1. L1 is simply R0 ." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 19 "R1 := xor32(f1,L0);" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 10 "\nL1 := R0 ;" }{MPLTEXT 1 251 0 "" }}}}{SECT 1 {PARA 247 "" 0 "" {TEXT 254 25 "En crypting 15 more rounds" }{TEXT 254 0 "" }}{EXCHG {PARA 245 "" 0 "" {TEXT 252 110 "Now we simply repeat this simple process 15 more times. (Oh no!!!! Time to write a procedure and do a loop.)" }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 24 "L := linalg[vector ](16):" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 25 "\nR := linalg[vector] (16):" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 12 "\nL[1] := L1;" } {MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 12 "\nR[1] := R1;" }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 21 "fcomb := pro c(ri, ki)" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 34 "\n local t1,t2, t 3, vec1, vec2, i:" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 32 "\n t1 := \+ xor48(ki,expander(ri)):" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 22 "\n \+ vec1 := prodbs(t1):" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 60 "\n vec2 := linalg[vector](8,[seq(SBox[i][vec1[i]],i=1..8)]):" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 34 "\n t2 := cat(seq(vec2[i],i=1..8)):" } {MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 19 "\n t3 := PPerm(t2):" } {MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 5 "\nend:" }{MPLTEXT 1 251 0 "" }} }{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 21 "for i from 2 to 16 do" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 18 "\n L[i] := R[i-1];" } {MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 46 "\n R[i] := xor32(L[i-1],fcomb (R[i-1],key[i]));" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 4 "\nod;" } {MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 115 "Now we \+ put the left and right halves together in reverse order, invert the in itial permutation, and convert to hex." }{TEXT 252 0 "" }}}{EXCHG {PARA 248 "> " 0 "" {MPLTEXT 1 0 38 "convert(bincodetext, decimal, bin ary);" }}}{EXCHG {PARA 248 "> " 0 "" {MPLTEXT 1 -1 45 "convert(parse(b incodetext), decimal, binary);" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 32 "puttogether := cat(R[16],L[16]);" } {MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 39 "\nbincodetext := FinalPerm(put together);" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 25 "\nciphertext := s ubstring(" }{MPLTEXT 1 251 8 "convert(" }{MPLTEXT 1 251 8 "convert(" } {MPLTEXT 1 251 11 "\n 2^64 + " }{MPLTEXT 1 251 41 "convert(bincodete xt,decimal,binary),hex)," }{MPLTEXT 1 251 15 "string),2..17);" } {MPLTEXT 1 251 0 "" }}}}{SECT 1 {PARA 247 "" 0 "" {TEXT 254 10 "Decryp ting" }{TEXT 254 0 "" }}{EXCHG {PARA 245 "" 0 "" {TEXT 252 78 "Now we \+ try decrypting. We will essentially go backward through the procedure ." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 25 "R2 := linalg[vector](17):" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 26 "\nL2 := linalg[vector](17):" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 17 "\nR2 [17] := R[16];" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 17 "\nL2[17] := L [16];" }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 21 "for i from 1 to 16 do" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 11 "\nj := 17-i:" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 18 "\nR2[j] := \+ L2[j+1];" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 47 "\nL2[j] := xor32(R2 [j+1],fcomb(L2[j+1],key[j]));" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 4 "\nod;" }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 151 "Now that we have done the 16 rounds, we need to put the two halve s of the string together, unscramble it, make it a number and convert \+ it back to ASCII" }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 27 "almost := cat(L2[1],R2[1]);" }{MPLTEXT 1 251 0 "" } {MPLTEXT 1 251 34 "\nunscrambled := FinalPerm(almost);" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 52 "\ncode3 := substring(convert(convert(2^64 + convert( " }{MPLTEXT 1 251 54 "\n unscrambled,decimal,binary),he x), string),2..17);" }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 44 "Thus we have recovered the original message." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 0 "" }}}}{SECT 1 {PARA 247 "" 0 "" {TEXT 254 31 "Quick encryption and decryption" } {TEXT 254 0 "" }}{EXCHG {PARA 245 "" 0 "" {TEXT 252 66 "We would also \+ like to do the same conversion with single commands." }{TEXT 252 0 "" }}{PARA 245 "" 0 "" {TEXT 252 26 "Recall our stating values:" }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 30 "keytest := \+ \"133457799BBCDFF1\";" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 29 "\nmess 1 := \"0123456789ABCDEF\";" }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 " " 0 "" {TEXT 252 50 "We want to expand the key and encrypt the message ." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 28 "ke y := keyexpander(keytest):" }{MPLTEXT 1 251 0 "" }{MPLTEXT 1 251 35 " \nciphertext := qdDEShex(mess1,key);" }{MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 15 "Now we decrypt:" }{TEXT 252 0 "" }}} {EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 43 "recoveredtext := unDEShe x(ciphertext, key);" }{MPLTEXT 1 251 0 "" }}}}{SECT 1 {PARA 249 "" 0 " " {TEXT 255 25 "Exercises - Key expansion" }{TEXT 255 0 "" }}{EXCHG {PARA 245 "" 0 "" {TEXT 252 128 "1) Start with the key \"iamhappy\" w hich converts to the hex string \"69616D6861707079\". Convert the key to binary and apply PC1." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 111 "2) B reak the key into 2 halves and create arrays of the halves shifted 16 \+ times according to the given formula." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 87 "3) Put the halves back together and apply PC2 to produce the 16 keys in the key vector." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 " > " 0 "" {MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 128 "4) Use keyexpander to do the same thing in a single command. Ma ke sure that your answer agrees with your answer to exercise 3." } {TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 0 "" }}}} {SECT 1 {PARA 249 "" 0 "" {TEXT 255 22 "Exercises - Encryption" } {TEXT 255 0 "" }}{EXCHG {PARA 245 "" 0 "" {TEXT 252 132 "5) The messa ge \"Be Happy\" converts to the hex string \"4265204861707079\". Conv ert this to binary and apply the initial permutation," }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 235 "6) Create 2 arrays of length 16 entitled R and L. Define R0 and L0 as the appropriate halves of your previous a nswer. Use these numbers and your key to define R[1] and L[1]. Induc tively define R[i] and L[i] for i from 2 through 16." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 90 "7) Put the 2 halves back together in reverse or der and use IPI to get the coded message. " }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 61 "8) Encrypt the message with a single command using qdDE Shex." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 0 "" }}}{EXCHG {PARA 245 "" 0 "" {TEXT 252 152 "9) Use DES and the \"ia mhappy\" key to encrypt the first 8 letters of your name. Put the res ults to the bulletin board. Decrypt someone else's message." }{TEXT 252 0 "" }}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 0 "" }}}}{EXCHG {PARA 244 "> " 0 "" {MPLTEXT 1 251 0 "" }}}{PARA 250 "" 0 "" {TEXT 224 0 "" }}{PARA 251 "" 0 "" {TEXT 210 0 "" }}{PARA 252 "" 0 "" {TEXT 256 0 "" }}{PARA 253 "" 0 "" {TEXT -1 0 "" }}}{MARK "0 0 0" 0 } {VIEWOPTS 1 1 0 15 10 1804 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }353 0 obj << /Length 201 /Filter /FlateDecode >> stream H|б @ CmѭP s+X ŘsE4((SUd.q$q,͘R@\ʆ2 ݒ|-t=Z+bwzbBUkܐ;Т`sO%4~y q [bi*nɹFo@c.$ ZZ} : endstream endobj 2354 0 obj << /Length 193 /Filter /FlateDecode >> stream H\1j1Sเݨp\Er$ Ͷ5.1n󅘴m,%k쫉Cj׌76yaP}Xbz?tm|}1\YyoZ:?3Th$q(4|l!y򑲨:3e]W{:( -1rC  Tcl endstream endobj 2355 0 obj << /Length 101 /Filter /FlateDecode >> stream H24S0P0Q55P042S y y,L NrW @)YZW4E@= ⁍x #r`E^ endstream endobj 2356 0 obj << /Length 196 /Filter /FlateDecode >> stream H|б 0@'$? UN~::(:'O'tP8*qI ]R*rEe.]H7)V˚NWT{|R($& DL SŞ &xD2>K:H%("D2bH?rKt3fXE)EG) Ueu endstream endobj 2357 0 obj << /Length 192 /Filter /FlateDecode >> stream HO1 @ܐ"pp$\ DSZPNY'"d\[-lya9ꦕ-DNE.eUhB[P_fǏUfL`(LDԎ}5-\td^_(&P|/1+4Y"2@O@z-` endstream endobj 2358 0 obj << /Length 174 /Filter /FlateDecode >> stream H1 @E'Xr$lc*!*Pƛ(ҦL2v)-89;^5-,ჰ(.5| +O](UT-|z~2HF031͐HߥmDڏ""]I +tnlFDo'h!1½>q& 0z endstream endobj 2359 0 obj << /LenM7R0 I%SBox7*=6"%&falseGE\[l[oQ'011000F%Q%0101F%Q'101101F%Q%0001F%Q'100001F%Q%1111F% Q'000000F%Q%1110F%Q'010100F%Q%0110F%Q'010111F%Q%1011F%Q'001101F%Q%1101F%Q'10111 1F%Q%0111F%Q'011110F%F7Q'110100F%Q%1001F%Q'001111F%F+Q'001001F%F/Q'000011F%F-Q' 101010F%F1Q'110001F%F)Q'001100F%F3Q'110110F%F7Q'111111F%F5Q'010101F%Q%1100F%Q'1 10011F%F3Q'101100F%Q%0010F%Q'010010F%Q%1010F%Q'100011F%FDQ'010110F%FDQ'011011F% F)Q'001010F%F-Q'111100F%F)Q'111011F%Q%0000F%Q'000101F%F7Q'000001F%FPQ'000110F%F +Q'100010F%F+Q'110111F%F/Q'010001F%FIQ'000010F%Q%0100F%Q'011010F%F:Q'100101F%Q% 1000F%Q'110101F%Q%0011F%Q'101001F%FXQ'011101F%FgnQ'001000F%FGQ'100111F%FGQ'0100 11F%F1Q'111001F%FIQ'101000F%F5Q'100100F%F/Q'100000F%FXQ'100110F%FenQ'011100F%FP Q'110010F%FDQ'000100F%F5Q'111000F%FgnQ'111110F%FPQ'110000F%F-Q'001110F%FenQ'011 111F%FenQ'011001F%F:Q'010000F%FgnQ'111010F%FIQ'111101F%F1Q'000111F%FXQ'101110F% F3Q'101011F%F:Q'001011F%FG=F%F&E\[l[oF(FDF*FXF,F5F.F-F0FGF2FIF4FenF6FGF8FIF9FDF ;F/FFXF?F3F@FgnFAF1FBF:FCF+FEF1FFF5FHF7FJFenFKF5FLF:FMF3FNFGFOF)FQFXFR FgnFSF/FTF/FUFDFVFDFWF+FYFPFZFIFfnF7FhnFgnFinF3FjnF1F[oF+F\oFPF]oFPF^oFIF_oF7F` oFPFaoF3FboF)FcoFenFdoFenFeoF:FfoF-FgoF)FhoFXFioF)FjoF1F[pF:F\pFgnF]pF/F^pF7F_p F+F`pF-FapFG=F%F&E\[l[oF(F3F*FenF,F+F.FIF0FDF2F/F4F1F6F7F8FenF9FGF;FIFF-F?FXF@F-FAFDFBFDFCF)FEF-FFFgnFHF5FJFIFKF7FLF3FMFgnFNF/FOF)FQFPFRF5FSF/FTF1FU FgnFVFGFWFPFYFXFZF5FfnF/FhnF1FinF-FjnF1F[oFPF\oFenF]oF3F^oFenF_oFXF`oF5FaoF:Fbo FGFcoF+FdoF:FeoF)FfoF7FgoF3FhoF)FioF+FjoFDF[pF+F\pFIF]pFGF^pF:F_pFPF`pF:FapFX=F %F&E\[l[oF(F3F*F5F,FgnF.F7F0FenF2FDF4FPF6FenF8F-F9FgnF;FgnFF3F?F:F@F: FAF/FBF/FCFGFEFXFFF7FHFGFJF-FKF)FLFIFMF1FNFenFOF7FQF3FRF5FSFgnFTF1FUF3FVFXFWF5F YFDFZFPFfnF)FhnFIFinF/FjnFPF[oF1F\oF7F]oFDF^oFDF_oF:F`oFIFaoFPFboFXFcoF+FdoF/Fe oF)FfoFXFgoF-FhoFIFioF:FjoF+F[pF+F\pFGF]pFGF^pF)F_pF5F`pF+FapF-=F%F&E\[l[oF(F5F *FGF,F3F.FGF0FgnF2FIF4F5F6F5F8F:F9FDF;F+FF5F?F1F@F3FAF)FBFgnFCF-FEF-FF F7FHF)FJFenFKF-FLF:FMFIFNFPFOFXFQFGFRF/FSF+FTFGFUF:FVF)FWFDFYFPFZFDFfnFPFhnF+Fi nFenFjnF7F[oF7F\oFPF]oFIF^oFIF_oF+F`oFXFaoF3FboF/FcoF:FdoFXFeoF1FfoF/FgoF-FhoF1 FioF1FjoFgnF[pFenF\pFgnF]pF)F^pFDF_pFenF`pF/FapF7=F%F&E\[l[oF(F/F*F-F,FXF.FDF0F gnF2F/F4F:F6FIF8F3F9FXF;F)FFenF?F3F@F1FAFIFBF5FCF5FEF/FFFDFHF5FJFgnFKF XFLF3FMFGFNF3FOFPFQFXFRFIFSF-FTF/FUF7FVF1FWF+FYF7FZFGFfnF+FhnF:FinFgnFjnF:F[oFD F\oF+F]oF1F^oFGF_oF-F`oF:FaoF)FboF)FcoFPFdoFIFeoF+FfoF1FgoF7FhoFenFioFenFjoFPF[ pFPF\pF5F]pFenF^pFGF_pFgnF`pF)FapFD=F%F&E\[l[oF(F)F*FIF,F1F.FXF0F:F2FDF4F+F6F7F 8F+F9F1F;FIFFgnF?F:F@FenFAFenFBFDFCF)FEF)FFF7FHFDFJF3FKF7FLF-FMFPFNF:F OFGFQF3FRF5FSF/FTFXFUF-FVF/FWF3FYFIFZF5FfnFPFhnF+FinFenFjnF-F[oFenF\oFgnF]oF/F^ oFDF_oF3F`oF+FaoF5FboF1FcoF-FdoFGFeoFPFfoFGFgoFIFhoF5FioF1FjoFGF[pFgnF\pF)F]pFg nF^pF7F_pF/F`pFXFapF:=F%F&E\[l[oF(F)F*FenF,FGF.F5F0FgnF2F3F4F7F6F5F8F7F9FIF;FXF FDF?F-F@F3FAF5FBF3FCF1FEFDFFF/FHF:FJF+FKF/FLF/FMF-FNF)FOF)FQF5FRF+FSFX FTF3FUFPFVFDFWFGFYFPFZF/FfnF:FhnFXFinF:FjnF1F[oF7F\oF)F]oFgnF^oF:F_oFXF`oF7FaoF +FboFDFcoF1FdoFenFeoF-FfoFenFgoFPFhoF+FioFGFjoFPF[pFIF\pFgnF]pF1F^pFenF_pFGF`pF IFapFgnF%, I$PC17Z"#d"#\"#T"#L"#D"#<""*""""#e"#]"#U"#M"#E"#="#5""#"#f"#^"#V"#N"#F"#>"#6""$ "#g"#_"#W"#O"#j"#b"#Z"#R"#J"#B"#:""("#i"#a"#Y"#Q"#I"#A"#9""'"#h"#`"#X"#P"#H"#@" #8""&"#G"#?"#7""%F%, I$PC27RF\tFgqFhr"#CFiqFetFirFftFdsF]tFctF`rFcsFgrFhtFitF^r"")"#;FesFfrFgtFdtFar FdqF[sFbsFatF`sF_sFjs"#SFcrF`tFeq"#[F\sFcqFas"#cF]rF_tFhsF\rF[rF]sFbt"#KF%, I*keyshifts72FiqFiqFarFarFarFarFarFarFiqFarFarFarFarFarFarFiqF%, I#IP7\oFjqF[rF\rF]rF^rF_rF`rFarFjrF[sF\sF]sFftFgtFhtFitFfsFgsFhsFisFjsF[tF\tF]t "#kFauF`uF_uFbuF\uF^uF]uFbqFcqFdqFeqFfqFgqFhqFiqFbrFcrFdrFerFfrFgrFhrFirF^tF_tF `tFatFbtFctFdtFetF^sF_sF`sFasFbsFcsFdsFesF%, I"E7RFbuFiqFarFirFitFetFitFetF]tFesF]uFhqF]uFhqF`rFhrFhtFdtFhtFdtF\tFdsF^uFgqF^ uFgqF_rFgrFgtFctFgtFctF[tFcsF\uFfqF\uFfqF^rFfrFftFbtFftFbtFjsFbsFbuFiqF%, I"P7BF^uFesFgtFctFbtFhtFftFgqFiqFdsFcsF^rFetF_rFbsF`rFarF]uF\uF\tFbuFfrFirFhqFg rFdtFjsF]tF[tFhrFitFfqF%, I$IPI7\oF_uF]uF`uF^uFauF\uFguFbuFasFesF`sFdsF_sFcsF^sFbsFisF]tFhsF\tFgsF[tFfsFj sFatFetF`tFdtF_tFctF^tFbtF]sFitF\sFhtF[sFgtFjrFftFerFirFdrFhrFcrFgrFbrFfrF]rFar F\rF`rF[rF_rFjqF^rFeqFiqFdqFhqFcqFgqFbqFfqF%, I*hex2digitf*6#%"xGF%6$%)operatorG%&arrowGF%-%*substringG6$-%(convertG6$,&"$c#F iq9$Fiq%$hexG;FarFirF%F%F%F%, I&bin64f*6#%,shortstringG6$%*hexStringG%*binStringGF%F%C%>8$-%$catG6#-%#opG6#-% $mapG6$F^v-Fiv6$F]w%&bytesG>8%-Fiv6$,&"5;;b4P2WnW=Fiq-Fiv6%Fiw%(decimalGF^wFiq% 'binaryG-Ffv6$-Fiv6$Fgx%'stringG;Far"#lF%F%F%F%, I,ASCII2hex16f*Fbw6$Few%.longHexStringGF%F%C%>FiwFjw>Fgx-Fiv6$FjxF^w-Ffv6$Fby;F arFgqF%F%F%F%, I)bin64hexf*6#%*hexstringG6#FfwF%F%C$>Fiw-Fiv6$,&F[yFiq-Fiv6%FewF^yF^wFiqF_y-Ff v6$-Fiv6$FiwFdyFeyF%F%F%F%, I+fourbitbinf*6#%'decnumGF%FbvF%-Ffv6$-Fiv6$-Fiv6$,&F]wFiqF^uFiqF_yFdy;FarFetF% F%F%F%, I)PC1onKeyf*6#%'binstrGF%FbvF%-F[x6#-%$seqG6$-Ffv6$F]w&F`q6#%"iG/F\]l;FiqFauF%F %F%F%, I)PC2onKeyf*Fa\lF%FbvF%-F[x6#-Ff\l6$-Ffv6$F]w&FjtF[]l/F\]l;FiqF`uF%F%F%F%, I)expanderf*Fa\lF%FbvF%-F[x6#-Ff\l6$-Ffv6$F]w&FhuF[]lFh]lF%F%F%F%, I)InitPermf*Fa\lF%FbvF%-F[x6#-Ff\l6$-Ffv6$F]w&FeuF[]l/F\]l;FiqFguF%F%F%F%, I*FinalPermf*Fa\lF%FbvF%-F[x6#-Ff\l6$-Ffv6$F]w&F\vF[]lF\_lF%F%F%F%, I&PPermf*Fa\lF%FbvF%-F[x6#-Ff\l6$-Ffv6$F]w&FjuF[]l/F\]l;FiqFbuF%F%F%F%, I$XORf*6$%"aG%"bGF%FbvF%@%/F]w9%Q"0F%Q"1F%F%F%F%F%, I)xorNbitsf*6%Fe`lFf`l%"NG6$%(aStringG%(bStringGF%F%C%>Fiw-Fiv6$F]wFdy>Fgx-Fiv6 $Fi`lFdy-F[x6#-Ff\l6$-Fb`l6$-Ffv6$FiwF\]l-Ffv6$FgxF\]l/F\]l;Fiq9&F%F%F%F%, I&xor64f*Fd`lF%FbvF%-F\al6%F]wFi`lFguF%F%F%F%, I&xor48f*Fd`lF%FbvF%-F\al6%F]wFi`lF`uF%F%F%F%, I&xor32f*Fd`lF%FbvF%-F\al6%F]wFi`lFbuF%F%F%F%, I)xor64hexf*Fd`l6&%&binabG%&hexabGF\]l%"lGF%F%C&>Fiw-Fgbl6$-Fcz6#F]w-Fcz6#Fi`l> Fgx-Fiv6$-Fiv6%-%&parseG6#FiwF^yF_yF^w>8',&F^uFiq-%'lengthG6#Fgx!""-F[x6$-Ff\l6 $Fj`l/8&;FiqFjdlFgxF%F%F%F%, I'prodbsf*Fa\l6$%%bvecGF\]lF%F%C%>Fiw-&%'linalgG6#%'vectorG6#F]u?(FgxFiqFiqF]u% %trueG>&FiwF^el-Ffv6$F]w;,&FgxF]t!"&Fiq,$FgxF]t-Fiv6$Fiw%%listGF%F%F%F%, I&fcombf*6$%#riG%#kiG6(%#t1G%#t2G%#t3G%%vec1G%%vec2GF\]lF%F%C'>Fiw-F[cl6$Fi`l-F j]lF^dl>Fjdl-FgelFhdl>8(-F^fl6$F]u7#-Ff\l6$&&F"6#8)6#&FjdlF[il/F\il;FiqF]u>Fgx- F[x6#-Ff\l6$&FchlF[ilF_il>Feel-Fg_lF^elF%F%F%F%, I,keyexpanderf*Fez6*%'keybinG%*binlengthG%)keybin64G%'PC1keyG%"cG%"dG%$keyGF\]l F%F%C.>Fiw-Fiv6$-Fiv6%F]wF^yF^wF_y>Fgx-F]elFhdl>Feel-F[x6$-Ff\l6$%"0G/8+;Fiq,&F guFiqFgxF_elFiw>Fjdl-F_\l6#Feel>Fchl-F^fl6#Fgq>F\ilFi[m>8*-F^fl6#F^u>&Fchl6#Fiq -Ffv6$Fjdl;FiqFft>&F\ilFb\m-Ffv6$Fjdl;FbtFau?(Fb[mFarFiqFgqFdflC$>&Fchl6#Fb[m-F [x6$-Ffv6$&Fchl6#,&Fb[mFiqF_elFiq;,&&FcuFe]mFiqFiqFiqFft-Ffv6$Fd]m;FiqFi]m>&F\i lF_]m-F[x6$-Ffv6$&F\ilFe]mFg]m-Ffv6$Fc^mF\^m?(Fb[mFiqFiqF^uFdfl>&F]\mF_]m-Fiv6$ -F_]l6#-F[x6$&Fchl6#,&Fb[mFiqFiqFiq&F\ilF`_mFdy>F]\m-Fiv6$F]\mF_glF%F%F%F%, I)qdDEShexf*6$Ffz%'keyvecG6*%%bin2G%"RGF\]l%(keytrivG%&code1G%&code2G%&code3G%# l1GF%F%C->Fjdl-F[x6#-Ff\l6$F`[m/%"jGFi]l>Fiw-Fc^l6#F]dl>Fgx-F^fl6#F_r>&Fgx6#Far -Ffv6$Fiw;FeqFgu>&FgxFb\m-Ffv6$FiwFa`l?(FeelFiqFiqF^uFdfl>&Fgx6#,&FeelFiqFarFiq -F_cl6$&FgxFg[m-F`gl6$&Fgx6#,&FeelFiqFiqFiq&Fi`lFg[m>Fchl-F[x6$&FgxF_am&FgxFj[m >F\il-F^_l6#Fchl>F]\m-Fiv6$-Fiv6%-FgdlF[ilF^yF_yF^w>Fb[m-F]el6#F]\m-F[x6$-Ff\l6 $Fj`l/Feel;Fiq,&F^uFiqFb[mF_elF]\mF%F%F%F%, I)unDEShexf*Fh_mFj_mF%F%C->Fjdl-F[x6#-Ff\l6$Fj`lFh`m>FiwF[am>FgxF^am>F\cmFcam>F [cmFham?(FeelFiqFiqF^uFdfl>&Fgx6#,&FgqFiqFeelF_el-F_cl6$&Fgx6#,&FgrFiqFeelF_el- F`gl6$&Fgx6#,&F_rFiqFeelF_el&Fi`lF_em>Fchl-F[x6$FgamFaam>F\ilF^cm>F]\mFacm>Fb[m FgcmFicmF%F%F%F%, I+qdDESASCIIf*6$%,ASCIIstringGFi_mFj_mF%F%C->FjdlFddm>Fiw-Fc^l6#-F`wF^dl>FgxF^a m>FaamFcam>FgamFham?(FeelFiqFiqF^uFdfl>F\bmF_bm>FchlFibm>F\ilF^cm>F]\mFacm>Fb[m FgcmFicmF%F%F%F%, I*hex2digitF_vF%, I2asciistrtohexwordf*6#%.messagestringG6*%,stringofhexG%)lenofstrG%(paddingG%(w ordlenG%%tempGFi`mF\]l%"kGF%F%C*>Fgx-F]elF^dl>FiwF`x>Fjdl-%%iquoG6$,&FgxFiqFesF iqF]u>Feel,&FjdlF]uFgxF_el>Fchl-F^fl6#Fjdl?(F]\mFiqFiq,&FjdlFiqF_elFiqFdfl>&Fch lFhcm-F[x6#-Ff\l6$&FiwF[il/F\il;,&F]\mF]u!"(Fiq,$F]\mF]u>&FchlF^im-F[x6$-Ff\l6$ Fgim/F\il;,&%)roundlenGFiqF[jmFiqFgx-Ff\l6$%#00G/Fb[m;FiqFeel-Fiv6$FchlF_glF%F% F%F%, I2hexwordtoasciistrf*6#%)wordlistG6'Fa`mF_hmF\]lFi`mFiglF%F%C(>Fchl-Fiv6$F]w%&a rrayG>Fiw-&F_fl6#%(vectdimGF^dl>Fgx-F^fl6#,$FiwF]u?(FeelFiqFiqFiwFdfl?(FjdlFiqF iqF]uFdfl>&Fgx6#,(FjdlFiqFeelF]u!")Fiq-Ffv6$&F]wFg[m;,&FjdlFarF_elFiq,$FjdlFar> Fgx-Fiv6$FgxF_gl-Fiv6$-Fax6&FivFgxF^yF^wFexF%F%F%F% 0 obj << /ProcSet [ /PDF /ImageB ] >> endobj 2399 0 obj << /Type /Encoding /Differences [ 1 /G24 /G58 /G57 /G4b /G52 /G55 /G56 /G1d /G2d /G44 /G51 13 /G27 /G48 /G50 /G39 /G4c /G46 /G35 /G4d ] >> endobj 2400 0 obj << /G24 2401 0 R /G58 2402 0 R /G57 2403 0 R /G4b 2404 0 R /G52 2405 0 R /G55 2406 0 R /G56 2407 0 R /G1d 2408 0 R /G2d 2409 0 R /G44 2410 0 R /G51 2411 0 R /G27 2412 0 R /G48 2413 0 R /G50 2414 0 R /G39 2415 0 R /G4c 2416 0 R /G46 2417 0 R /G35 2418 0 R /G4d 2419 0 R >> endobj 2401 0 obj << /Length 165 /Filter /FlateDecode >> stream H,10n&/y  ]t"AMd0DgF֓/H}fg;+=ez1ѵr{2%SrDrg睄mywy0{!RV :f3|\>@"~MgY^ j} endstream endobj 2402 0 obj << /Length 120 /Filter /FlateDecode >> stream H22S0P0R52V022S y yl0NrW02R F@)Y^W4Ea8⇢㨨cgsv^.Wm\r4y endstream endobj 2403 0 obj << /Length 110 /Filter /FlateDecode >> stream H24U0P0T5P01S y y Ml0NrW04R F@)Y^W4EP 0ƒ0?` ^: endstream endobj 2404 0 obj << /Length 122 /Filter /FlateDecode >> stream H22S0P0R5&@f!/W!/mɹ\N\ FF@CH98+{*ry(ocoa`ogop fr:! L#L endstream endobj 2405 0 obj << /Length 127 /Filter /FlateDecode >> stream H22S0P0R52V022S y y\  \^.'O^.p#c =}JJSy<]3`AC~"|??z1r`':a endstream endobj 2406 0 obj << /Length 109 /Filter /FlateDecode >> stream H24U0P0R52V01S y y lNrW04R F )Y^W4Ef0l~ G\@cy ,S endstream endobj 2407 0 obj << /Length 126 /Filter /FlateDecode >> stream H2P0B]#cC3 #Ő ̆\^.'O^.p* `d =}JJSy<]`|x ?}P #y^.W\.} endstream endobj 2408 0 obj << /Length 93 /Filter /FlateDecode >> stream H24Q0P0U52V042S y yL@(˥` $=SPBIQi*/B;G@ `z endstream endobj 2409 0 obj << /Length 111 /Filter /FlateDecode >> stream H2T0B]cCs #Ő ̆`r./'/~8PP06RN @ %E\. ?c`30g``@^.O^j endstream endobj 2410 0 obj << /Length 149 /Filter /FlateDecode >> stream H22V0P0T52V022S y y -@> stream H22S0P0R52V022S y yl0NrW02R F@)Y^W4E}; {={ "~(j#^.Wm\: endstream endobj 2412 0 obj << /Length 160 /Filter /FlateDecode >> stream H26V0P0R56P062S y y,lNrW0R @)Y^W4E @P7qD`vZ {7g?/+Ё\Z endstream endobj 2413 0 obj << /Length 134 /Filter /FlateDecode >> stream H22V0P0R52V022S y y @, sy> stream H2P0P0R52V062S y yMlNrW06R F@)Y^W4E   ??7aa}?~,~\?N t[ /@WK endstream endobj 2415 0 obj << /Length 157 /Filter /FlateDecode >> stream H,1 P !. vq+T Asw- 7CoZG~BY,m&53k8ϙnL1cӕtLQmVWVSqarkk?2$OEN-~ -4}EuEyP&4L j){VERSION 6 1 "Mac OS X" "6.1" } {USTYLETAB {PSTYLE "List Item" -1 14 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 5 }{PSTYLE "Li ne Printed Output" -1 6 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle19 " -1 200 1 {CSTYLE "" -1 -1 "Times" 0 1 0 0 255 1 0 0 2 2 2 2 0 0 0 1 }3 3 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle18" -1 201 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle17" -1 202 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "He lp" -1 10 1 {CSTYLE "" -1 -1 "Courier" 1 9 0 0 255 1 0 0 0 2 2 1 0 0 0 1 }1 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle16" -1 203 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle15" -1 204 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 4" -1 20 1 {CSTYLE "" -1 -1 "Times" 1 10 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle14" -1 205 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 0 0 0 1 } 3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 3" -1 5 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle13" -1 206 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 2 2 2 0 0 0 1 }0 0 0 -1 -1 -1 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } 1 1 0 0 4 4 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle12" -1 207 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 2 0 0 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }1 1 0 0 8 4 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle11" -1 208 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 2 0 0 2 2 2 0 0 0 1 }1 1 0 0 4 4 2 0 2 0 2 2 -1 1 }{PSTYLE "_pstyle10" -1 209 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 2 0 0 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 } {PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }3 3 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Error" -1 8 1 {CSTYLE "" -1 -1 "Cou rier" 1 10 255 0 255 1 0 0 0 2 2 1 0