[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[minion-cvs] Added the binary SURB format.



Update of /home/minion/cvsroot/doc
In directory moria.seul.org:/tmp/cvs-serv16520

Modified Files:
	minion-spec.tex 
Log Message:
Added the binary SURB format.


Index: minion-spec.tex
===================================================================
RCS file: /home/minion/cvsroot/doc/minion-spec.tex,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- minion-spec.tex	9 Jun 2002 05:05:43 -0000	1.23
+++ minion-spec.tex	12 Jun 2002 14:09:22 -0000	1.24
@@ -483,6 +483,48 @@
  use part of the header. One only needs to specify the 
  blocks containing the SURB and a key to pad the junk]
 
+A SURB can be encoded in a standard binary or ASCII format.
+
+Binary Format:
+
+Begin Marker: 4 bytes
+Address Size: 2 bytes
+Address: (Address Size) bytes
+Use-by-Date: 4 bytes
+SURB size: 2 bytes
+SURB data: (SURB size) bytes
+Filler Key: 20 bytes
+Linked Data Size: 2 bytes
+Linked Data: (Linked Data Size) bytes
+Digest: 20 bytes
+
+Total: 54 bytes + Address Size + SURB size + Linked Data Size
+
+* The magic marker contains the ASCII 4-byte string 'SURB'.
+* Address: Contains the address of the first hop to which the message
+  encoded using this SURB should be sent to.
+* Use-by-Date: indicated the expiry date the SURB should be used by. Can
+  be calculated using the key rotation frequencies of the intermediate
+  nodes.
+* SURB data: Containst the SURB that is created as described
+  above. The Junk at the end can be ommited (although it is not wise
+  to reduce it more than hoaf the size of a full SURB). When the SURB
+  is created some data can be bound to it to ensure that they cannot
+  be replaced by any malicious third party. To do this instead of 
+  including junk at the end of the SURB one can include a hash of the
+  data: 
+	H(Address, Use-by-Date, Linked Data)
+  That hash is contained in the last 20 bytes of the SURB data.
+* Filler: Used to prinme the stream cipher to pad the SURB data up to
+  128*16 bytes.
+* Linked Data: Additional data that might have to be linked with the 
+  SURB.
+* The Digest is a Hash of all the other fields.
+
+The ASCII Encoding of SURBs.
+
+[XXXX Any ideas?]
+
 \section{Email Transport exchange format}
 
 [Need to specify how we are going to wrap the message