Simplify the math to round up to the next multiple of some value.
[tor/rransom.git] / doc / design-paper / interaction.eps
blob9b4e3db619eb20da64a7a6449781f253893f3b90
1 %!PS-Adobe-2.0 EPSF-2.0
2 %%Title: interaction.fig
3 %%Creator: fig2dev Version 3.2 Patchlevel 3d
4 %%CreationDate: Sat Jan 31 05:25:23 2004
5 %%For: nickm@totoro.wangafu.net ()
6 %%BoundingBox: 0 0 449 235
7 %%Magnification: 1.0000
8 %%EndComments
9 /$F2psDict 200 dict def
10 $F2psDict begin
11 $F2psDict /mtrx matrix put
12 /col-1 {0 setgray} bind def
13 /col0 {0.000 0.000 0.000 srgb} bind def
14 /col1 {0.000 0.000 1.000 srgb} bind def
15 /col2 {0.000 1.000 0.000 srgb} bind def
16 /col3 {0.000 1.000 1.000 srgb} bind def
17 /col4 {1.000 0.000 0.000 srgb} bind def
18 /col5 {1.000 0.000 1.000 srgb} bind def
19 /col6 {1.000 1.000 0.000 srgb} bind def
20 /col7 {1.000 1.000 1.000 srgb} bind def
21 /col8 {0.000 0.000 0.560 srgb} bind def
22 /col9 {0.000 0.000 0.690 srgb} bind def
23 /col10 {0.000 0.000 0.820 srgb} bind def
24 /col11 {0.530 0.810 1.000 srgb} bind def
25 /col12 {0.000 0.560 0.000 srgb} bind def
26 /col13 {0.000 0.690 0.000 srgb} bind def
27 /col14 {0.000 0.820 0.000 srgb} bind def
28 /col15 {0.000 0.560 0.560 srgb} bind def
29 /col16 {0.000 0.690 0.690 srgb} bind def
30 /col17 {0.000 0.820 0.820 srgb} bind def
31 /col18 {0.560 0.000 0.000 srgb} bind def
32 /col19 {0.690 0.000 0.000 srgb} bind def
33 /col20 {0.820 0.000 0.000 srgb} bind def
34 /col21 {0.560 0.000 0.560 srgb} bind def
35 /col22 {0.690 0.000 0.690 srgb} bind def
36 /col23 {0.820 0.000 0.820 srgb} bind def
37 /col24 {0.500 0.190 0.000 srgb} bind def
38 /col25 {0.630 0.250 0.000 srgb} bind def
39 /col26 {0.750 0.380 0.000 srgb} bind def
40 /col27 {1.000 0.500 0.500 srgb} bind def
41 /col28 {1.000 0.630 0.630 srgb} bind def
42 /col29 {1.000 0.750 0.750 srgb} bind def
43 /col30 {1.000 0.880 0.880 srgb} bind def
44 /col31 {1.000 0.840 0.000 srgb} bind def
46 end
47 save
48 newpath 0 235 moveto 0 0 lineto 449 0 lineto 449 235 lineto closepath clip newpath
49 -62.3 239.8 translate
50 1 -1 scale
52 /cp {closepath} bind def
53 /ef {eofill} bind def
54 /gr {grestore} bind def
55 /gs {gsave} bind def
56 /sa {save} bind def
57 /rs {restore} bind def
58 /l {lineto} bind def
59 /m {moveto} bind def
60 /rm {rmoveto} bind def
61 /n {newpath} bind def
62 /s {stroke} bind def
63 /sh {show} bind def
64 /slc {setlinecap} bind def
65 /slj {setlinejoin} bind def
66 /slw {setlinewidth} bind def
67 /srgb {setrgbcolor} bind def
68 /rot {rotate} bind def
69 /sc {scale} bind def
70 /sd {setdash} bind def
71 /ff {findfont} bind def
72 /sf {setfont} bind def
73 /scf {scalefont} bind def
74 /sw {stringwidth} bind def
75 /tr {translate} bind def
76 /tnt {dup dup currentrgbcolor
77   4 -2 roll dup 1 exch sub 3 -1 roll mul add
78   4 -2 roll dup 1 exch sub 3 -1 roll mul add
79   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
80   bind def
81 /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
82   4 -2 roll mul srgb} bind def
83 /reencdict 12 dict def /ReEncode { reencdict begin
84 /newcodesandnames exch def /newfontname exch def /basefontname exch def
85 /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
86 basefontdict { exch dup /FID ne { dup /Encoding eq
87 { exch dup length array copy newfont 3 1 roll put }
88 { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
89 newfont /FontName newfontname put newcodesandnames aload pop
90 128 1 255 { newfont /Encoding get exch /.notdef put } for
91 newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
92 newfontname newfont definefont pop end } def
93 /isovec [
94 8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
95 8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
96 8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
97 8#220 /dotlessi 8#230 /oe 8#231 /OE
98 8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
99 8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
100 8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
101 8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
102 8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
103 8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
104 8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
105 8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
106 8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
107 8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
108 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
109 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
110 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
111 8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
112 8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
113 8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
114 8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
115 8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
116 8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
117 8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
118 8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
119 8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
120 /Times-Bold /Times-Bold-iso isovec ReEncode
121 /Times-Roman /Times-Roman-iso isovec ReEncode
122 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
123 /$F2psEnd {$F2psEnteredState restore end} def
125 $F2psBegin
126 10 setmiterlimit
127  0.06000 0.06000 sc
129 % Fig objects follow
131 % Polyline
132 15.000 slw
133 n 6000 300 m
134  6000 3975 l gs col0 s gr 
135 % Polyline
136 7.500 slw
137 gs  clippath
138 3615 555 m 3615 495 l 3464 495 l 3584 525 l 3464 555 l cp
139 eoclip
140 n 1200 525 m
141  3600 525 l gs col0 s gr gr
143 % arrowhead
144 n 3464 555 m 3584 525 l 3464 495 l 3464 555 l  cp gs 0.00 setgray ef gr  col0 s
145 % Polyline
146 gs  clippath
147 1185 795 m 1185 855 l 1336 855 l 1216 825 l 1336 795 l cp
148 eoclip
149 n 3600 825 m
150  1200 825 l gs col0 s gr gr
152 % arrowhead
153 n 1336 795 m 1216 825 l 1336 855 l 1336 795 l  cp gs 0.00 setgray ef gr  col0 s
154 % Polyline
155 15.000 slw
156 n 1200 300 m
157  1200 3975 l gs col0 s gr 
158 % Polyline
159 7.500 slw
160 gs  clippath
161 3615 1155 m 3615 1095 l 3464 1095 l 3584 1125 l 3464 1155 l cp
162 eoclip
163 n 1200 1125 m
164  3600 1125 l gs col0 s gr gr
166 % arrowhead
167 n 3464 1155 m 3584 1125 l 3464 1095 l 3464 1155 l  cp gs 0.00 setgray ef gr  col0 s
168 % Polyline
169 15.000 slw
170 n 3600 300 m
171  3600 3975 l gs col0 s gr 
172 % Polyline
173 7.500 slw
174 gs  clippath
175 6015 1230 m 6015 1170 l 5864 1170 l 5984 1200 l 5864 1230 l cp
176 eoclip
177 n 3600 1200 m
178  6000 1200 l gs col0 s gr gr
180 % arrowhead
181 n 5864 1230 m 5984 1200 l 5864 1170 l 5864 1230 l  cp gs 0.00 setgray ef gr  col0 s
182 % Polyline
183 gs  clippath
184 3585 1470 m 3585 1530 l 3736 1530 l 3616 1500 l 3736 1470 l cp
185 eoclip
186 n 6000 1500 m
187  3600 1500 l gs col0 s gr gr
189 % arrowhead
190 n 3736 1470 m 3616 1500 l 3736 1530 l 3736 1470 l  cp gs 0.00 setgray ef gr  col0 s
191 % Polyline
192 gs  clippath
193 1185 1545 m 1185 1605 l 1336 1605 l 1216 1575 l 1336 1545 l cp
194 eoclip
195 n 3600 1575 m
196  1200 1575 l gs col0 s gr gr
198 % arrowhead
199 n 1336 1545 m 1216 1575 l 1336 1605 l 1336 1545 l  cp gs 0.00 setgray ef gr  col0 s
200 % Polyline
201  [15 45] 45 sd
202 n 1050 1800 m
203  8325 1800 l gs col0 s gr  [] 0 sd
204 % Polyline
205 gs  clippath
206 3615 2130 m 3615 2070 l 3464 2070 l 3584 2100 l 3464 2130 l cp
207 eoclip
208 n 1200 2100 m
209  3600 2100 l gs col0 s gr gr
211 % arrowhead
212 n 3464 2130 m 3584 2100 l 3464 2070 l 3464 2130 l  cp gs 0.00 setgray ef gr  col0 s
213 % Polyline
214 gs  clippath
215 6015 2205 m 6015 2145 l 5864 2145 l 5984 2175 l 5864 2205 l cp
216 eoclip
217 n 3600 2175 m
218  6000 2175 l gs col0 s gr gr
220 % arrowhead
221 n 5864 2205 m 5984 2175 l 5864 2145 l 5864 2205 l  cp gs 0.00 setgray ef gr  col0 s
222 % Polyline
223  [60] 0 sd
224 gs  clippath
225 8190 2430 m 8190 2370 l 8039 2370 l 8159 2400 l 8039 2430 l cp
226 5985 2370 m 5985 2430 l 6136 2430 l 6016 2400 l 6136 2370 l cp
227 eoclip
228 n 6000 2400 m
229  8175 2400 l gs col0 s gr gr
230  [] 0 sd
231 % arrowhead
232 n 6136 2370 m 6016 2400 l 6136 2430 l 6136 2370 l  cp gs 0.00 setgray ef gr  col0 s
233 % arrowhead
234 n 8039 2430 m 8159 2400 l 8039 2370 l 8039 2430 l  cp gs 0.00 setgray ef gr  col0 s
235 % Polyline
236 gs  clippath
237 3585 2520 m 3585 2580 l 3736 2580 l 3616 2550 l 3736 2520 l cp
238 eoclip
239 n 6000 2550 m
240  3600 2550 l gs col0 s gr gr
242 % arrowhead
243 n 3736 2520 m 3616 2550 l 3736 2580 l 3736 2520 l  cp gs 0.00 setgray ef gr  col0 s
244 % Polyline
245 gs  clippath
246 1185 2595 m 1185 2655 l 1336 2655 l 1216 2625 l 1336 2595 l cp
247 eoclip
248 n 3600 2625 m
249  1200 2625 l gs col0 s gr gr
251 % arrowhead
252 n 1336 2595 m 1216 2625 l 1336 2655 l 1336 2595 l  cp gs 0.00 setgray ef gr  col0 s
253 % Polyline
254 gs  clippath
255 3615 3030 m 3615 2970 l 3464 2970 l 3584 3000 l 3464 3030 l cp
256 eoclip
257 n 1200 3000 m
258  3600 3000 l gs col0 s gr gr
260 % arrowhead
261 n 3464 3030 m 3584 3000 l 3464 2970 l 3464 3030 l  cp gs 0.00 setgray ef gr  col0 s
262 % Polyline
263 gs  clippath
264 6015 3105 m 6015 3045 l 5864 3045 l 5984 3075 l 5864 3105 l cp
265 eoclip
266 n 3600 3075 m
267  6000 3075 l gs col0 s gr gr
269 % arrowhead
270 n 5864 3105 m 5984 3075 l 5864 3045 l 5864 3105 l  cp gs 0.00 setgray ef gr  col0 s
271 % Polyline
272 gs  clippath
273 8190 3180 m 8190 3120 l 8039 3120 l 8159 3150 l 8039 3180 l cp
274 eoclip
275 n 6000 3150 m
276  8175 3150 l gs col0 s gr gr
278 % arrowhead
279 n 8039 3180 m 8159 3150 l 8039 3120 l 8039 3180 l  cp gs 0.00 setgray ef gr  col0 s
280 % Polyline
281 gs  clippath
282 5985 3420 m 5985 3480 l 6136 3480 l 6016 3450 l 6136 3420 l cp
283 eoclip
284 n 8175 3450 m
285  6000 3450 l gs col0 s gr gr
287 % arrowhead
288 n 6136 3420 m 6016 3450 l 6136 3480 l 6136 3420 l  cp gs 0.00 setgray ef gr  col0 s
289 % Polyline
290 gs  clippath
291 5985 3495 m 5985 3555 l 6136 3555 l 6016 3525 l 6136 3495 l cp
292 eoclip
293 n 8175 3525 m
294  6000 3525 l gs col0 s gr gr
296 % arrowhead
297 n 6136 3495 m 6016 3525 l 6136 3555 l 6136 3495 l  cp gs 0.00 setgray ef gr  col0 s
298 % Polyline
299 gs  clippath
300 5985 3570 m 5985 3630 l 6136 3630 l 6016 3600 l 6136 3570 l cp
301 eoclip
302 n 8175 3600 m
303  6000 3600 l gs col0 s gr gr
305 % arrowhead
306 n 6136 3570 m 6016 3600 l 6136 3630 l 6136 3570 l  cp gs 0.00 setgray ef gr  col0 s
307 % Polyline
308 gs  clippath
309 3585 3495 m 3585 3555 l 3736 3555 l 3616 3525 l 3736 3495 l cp
310 eoclip
311 n 6000 3525 m
312  3600 3525 l gs col0 s gr gr
314 % arrowhead
315 n 3736 3495 m 3616 3525 l 3736 3555 l 3736 3495 l  cp gs 0.00 setgray ef gr  col0 s
316 % Polyline
317 gs  clippath
318 3585 3645 m 3585 3705 l 3736 3705 l 3616 3675 l 3736 3645 l cp
319 eoclip
320 n 6000 3675 m
321  3600 3675 l gs col0 s gr gr
323 % arrowhead
324 n 3736 3645 m 3616 3675 l 3736 3705 l 3736 3645 l  cp gs 0.00 setgray ef gr  col0 s
325 % Polyline
326 gs  clippath
327 3585 3570 m 3585 3630 l 3736 3630 l 3616 3600 l 3736 3570 l cp
328 eoclip
329 n 6000 3600 m
330  3600 3600 l gs col0 s gr gr
332 % arrowhead
333 n 3736 3570 m 3616 3600 l 3736 3630 l 3736 3570 l  cp gs 0.00 setgray ef gr  col0 s
334 % Polyline
335 gs  clippath
336 1185 3645 m 1185 3705 l 1336 3705 l 1216 3675 l 1336 3645 l cp
337 eoclip
338 n 3600 3675 m
339  1200 3675 l gs col0 s gr gr
341 % arrowhead
342 n 1336 3645 m 1216 3675 l 1336 3705 l 1336 3645 l  cp gs 0.00 setgray ef gr  col0 s
343 % Polyline
344 gs  clippath
345 1185 3720 m 1185 3780 l 1336 3780 l 1216 3750 l 1336 3720 l cp
346 eoclip
347 n 3600 3750 m
348  1200 3750 l gs col0 s gr gr
350 % arrowhead
351 n 1336 3720 m 1216 3750 l 1336 3780 l 1336 3720 l  cp gs 0.00 setgray ef gr  col0 s
352 % Polyline
353 gs  clippath
354 1185 3795 m 1185 3855 l 1336 3855 l 1216 3825 l 1336 3795 l cp
355 eoclip
356 n 3600 3825 m
357  1200 3825 l gs col0 s gr gr
359 % arrowhead
360 n 1336 3795 m 1216 3825 l 1336 3855 l 1336 3795 l  cp gs 0.00 setgray ef gr  col0 s
361 % Polyline
362 15.000 slw
363 n 8175 300 m
364  8175 3975 l gs col0 s gr 
365 % Polyline
366 7.500 slw
367 n 6300 825 m 7950 825 l 7950 1725 l 6300 1725 l
368  cp gs col7 1.00 shd ef gr gs col0 s gr 
369 /Times-Bold-iso ff 180.00 scf sf
370 3375 225 m
371 gs 1 -1 sc (OR  1) col0 sh gr
372 /Times-Bold-iso ff 180.00 scf sf
373 1050 225 m
374 gs 1 -1 sc (Alice) col0 sh gr
375 /Times-Bold-iso ff 180.00 scf sf
376 5775 225 m
377 gs 1 -1 sc (OR  2) col0 sh gr
378 /Times-Roman-iso ff 150.00 scf sf
379 6075 3075 m
380 gs 1 -1 sc ("HTTP GET...") col0 sh gr
381 /Times-Roman-iso ff 150.00 scf sf
382 4800 3975 m
383 gs 1 -1 sc (. . .) dup sw pop 2 div neg 0 rm  col0 sh gr
384 /Times-Roman-iso ff 150.00 scf sf
385 7125 3975 m
386 gs 1 -1 sc (. . .) dup sw pop 2 div neg 0 rm  col0 sh gr
387 /Times-Roman-iso ff 150.00 scf sf
388 2400 3975 m
389 gs 1 -1 sc (. . .) dup sw pop 2 div neg 0 rm  col0 sh gr
390 /Times-Roman-iso ff 150.00 scf sf
391 7125 2325 m
392 gs 1 -1 sc (\(TCP handshake\)) dup sw pop 2 div neg 0 rm  col0 sh gr
393 /Times-Bold-iso ff 180.00 scf sf
394 7875 225 m
395 gs 1 -1 sc (website) col0 sh gr
396 /Times-Roman-iso ff 150.00 scf sf
397 7125 1425 m
398 gs 1 -1 sc ({X}--AES encryption) dup sw pop 2 div neg 0 rm  col0 sh gr
399 /Times-Roman-iso ff 150.00 scf sf
400 7125 1200 m
401 gs 1 -1 sc (E\(x\)--RSA encryption) dup sw pop 2 div neg 0 rm  col0 sh gr
402 /Times-Roman-iso ff 150.00 scf sf
403 7125 975 m
404 gs 1 -1 sc (Legend:) dup sw pop 2 div neg 0 rm  col0 sh gr
405 /Times-Roman-iso ff 150.00 scf sf
406 2400 225 m
407 gs 1 -1 sc (\(link is TLS-encrypted\)) dup sw pop 2 div neg 0 rm  col0 sh gr
408 /Times-Roman-iso ff 150.00 scf sf
409 1275 1050 m
410 gs 1 -1 sc (Relay c1{Extend, OR2, E\(g^x2\)}) col0 sh gr
411 /Times-Roman-iso ff 150.00 scf sf
412 1275 2025 m
413 gs 1 -1 sc (Relay c1{{Begin <website>:80}}) col0 sh gr
414 /Times-Roman-iso ff 150.00 scf sf
415 3525 1500 m
416 gs 1 -1 sc (Relay c1{Extended, g^y2, H\(K2\)}) dup sw pop neg 0 rm  col0 sh gr
417 /Times-Roman-iso ff 150.00 scf sf
418 3675 2100 m
419 gs 1 -1 sc (Relay c2{Begin <website>:80}) col0 sh gr
420 /Times-Roman-iso ff 150.00 scf sf
421 3525 2550 m
422 gs 1 -1 sc (Relay c1{{Connected}}) dup sw pop neg 0 rm  col0 sh gr
423 /Times-Roman-iso ff 150.00 scf sf
424 5925 2475 m
425 gs 1 -1 sc (Relay c2{Connected}) dup sw pop neg 0 rm  col0 sh gr
426 /Times-Roman-iso ff 150.00 scf sf
427 1275 2925 m
428 gs 1 -1 sc (Relay c1{{Data, "HTTP GET..."}}) col0 sh gr
429 /Times-Roman-iso ff 150.00 scf sf
430 3675 3000 m
431 gs 1 -1 sc (Relay c2{Data, "HTTP GET..."}) col0 sh gr
432 /Times-Roman-iso ff 150.00 scf sf
433 4800 225 m
434 gs 1 -1 sc (\(link is TLS-encryped\)) dup sw pop 2 div neg 0 rm  col0 sh gr
435 /Times-Roman-iso ff 150.00 scf sf
436 7050 225 m
437 gs 1 -1 sc (\(unencrypted\)) dup sw pop 2 div neg 0 rm  col0 sh gr
438 /Times-Roman-iso ff 150.00 scf sf
439 7125 1650 m
440 gs 1 -1 sc (cN--a circID) dup sw pop 2 div neg 0 rm  col0 sh gr
441 /Times-Roman-iso ff 150.00 scf sf
442 3525 3600 m
443 gs 1 -1 sc (Relay c1{{Data, \(response\)}}) dup sw pop neg 0 rm  col0 sh gr
444 /Times-Roman-iso ff 150.00 scf sf
445 8100 3375 m
446 gs 1 -1 sc (\(response\)) dup sw pop neg 0 rm  col0 sh gr
447 /Times-Roman-iso ff 150.00 scf sf
448 5925 3450 m
449 gs 1 -1 sc (Relay c2{Data, \(response\)}) dup sw pop neg 0 rm  col0 sh gr
450 /Times-Roman-iso ff 150.00 scf sf
451 5925 1425 m
452 gs 1 -1 sc (Created c2, g^y2, H\(K2\)) dup sw pop neg 0 rm  col0 sh gr
453 /Times-Roman-iso ff 150.00 scf sf
454 3675 1125 m
455 gs 1 -1 sc (Create c2, E\(g^x2\)) col0 sh gr
456 /Times-Roman-iso ff 150.00 scf sf
457 1275 450 m
458 gs 1 -1 sc (Create c1, E\(g^x1\)) col0 sh gr
459 /Times-Roman-iso ff 150.00 scf sf
460 3525 750 m
461 gs 1 -1 sc (Created c1, g^y1, H\(K1\)) dup sw pop neg 0 rm  col0 sh gr
462 $F2psEnd