summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2004-04-01 22:09:34 +0000
committerNick Mathewson <nickm@torproject.org>2004-04-01 22:09:34 +0000
commitcc8dc4e34c4035a8e26d84204ac19973ab06c76d (patch)
treecfd4d33185d53579d78f384db031fc4494d4c55d /doc
parent64cb3a027f0ed4823945c4daa086295120a2c18f (diff)
downloadtor-cc8dc4e34c4035a8e26d84204ac19973ab06c76d.tar.gz
tor-cc8dc4e34c4035a8e26d84204ac19973ab06c76d.zip
Clarify handdshake digest logic
svn:r1435
Diffstat (limited to 'doc')
-rw-r--r--doc/rend-spec.txt13
1 files changed, 7 insertions, 6 deletions
diff --git a/doc/rend-spec.txt b/doc/rend-spec.txt
index a74a81cfc6..32c9f7a8b8 100644
--- a/doc/rend-spec.txt
+++ b/doc/rend-spec.txt
@@ -128,17 +128,18 @@ Tor Rendezvous Spec
introduction. To establish the introduction, Bob sends a
RELAY_ESTABLISH_INTRO cell, containing:
- KL Key length [2 octets
+ KL Key length [2 octets]
PK Bob's public key [KL octets]
HS Hash of session info [20 octets]
SIG Signature of above information [KL octets]
To prevent replay attacks, the HS field contains a SHA-1 hash based on the
- shared secret g^xy between Bob's OP and the introduction point, as
+ shared secret KH between Bob's OP and the introduction point, as
follows:
- HS = H(g^xy | "INTRODUCE")
+ HS = H(KH | "INTRODUCE")
That is:
- HS = H(g^xy | [49 4E 54 52 4F 44 55 43 45])
+ HS = H(KH | [49 4E 54 52 4F 44 55 43 45])
+ (KH, as specified in tor-spec.txt, is H(g^xy | [00]) .)
Upon receiving such a cell, the OR first checks that the signature is
correct with the included public key. If so, it checks whether HS is
@@ -268,7 +269,7 @@ Tor Rendezvous Spec
point, and sends a RELAY_RENDEZVOUS1 cell along this circuit, containing:
RC Rendezvous cookie [20 octets]
g^y Diffie-Hellman [128 octets]
- H(KH) Handshake digest [20 octets]
+ KH Handshake digest [20 octets]
(Bob's OP MUST NOT use this circuit for any other purpose.)
@@ -276,7 +277,7 @@ Tor Rendezvous Spec
corresponding circuit in a RELAY_RENDEZVOUS2 cell, containing:
g^y Diffie-Hellman [128 octets]
- H(KH) Handshake digest [20 octets]
+ KH Handshake digest [20 octets]
(If the RP does not recognize the RC, it discards the cell and
tears down the circuit.)