aboutsummaryrefslogtreecommitdiff
path: root/rend-spec-v2.txt
diff options
context:
space:
mode:
authorHans-Christoph Steiner <hans@eds.org>2019-11-27 12:59:04 +0100
committerHans-Christoph Steiner <hans@eds.org>2019-12-10 16:06:53 +0100
commit9c86f54ba07355a968f982aed295e8b6597b4b89 (patch)
treefe2954f48bbcf92ff2f7394210ebd00701a7f3d8 /rend-spec-v2.txt
parent68437951a3f758475d24b872c5b66c6f227b3ae5 (diff)
downloadtorspec-9c86f54ba07355a968f982aed295e8b6597b4b89.tar.gz
torspec-9c86f54ba07355a968f982aed295e8b6597b4b89.zip
convert text blocks into widely compatible "blockquote" syntax
This only adds newline characters to make the existing text blocks act like "blockquote" or "code block" syntax in Markdown, asciidoc, and others. This was accomplished by manually reviewing the output of this script: ```bash for f in *.txt; do cat $f | python -c "import sys,re;print(re.sub(r'(\n {0,3}[^ \n][^\n]*\n)( {4,}[^\n]*)', r'\1\n\2', sys.stdin.read()))" > ${f}.tmp mv ${f}.tmp $f done ```
Diffstat (limited to 'rend-spec-v2.txt')
-rw-r--r--rend-spec-v2.txt12
1 files changed, 12 insertions, 0 deletions
diff --git a/rend-spec-v2.txt b/rend-spec-v2.txt
index d3a93e1..7ea0362 100644
--- a/rend-spec-v2.txt
+++ b/rend-spec-v2.txt
@@ -103,6 +103,7 @@
0.3. Constants and new cell types
Relay cell types
+
32 -- RELAY_COMMAND_ESTABLISH_INTRO
33 -- RELAY_COMMAND_ESTABLISH_RENDEZVOUS
34 -- RELAY_COMMAND_INTRODUCE1
@@ -166,9 +167,13 @@
To prevent replay attacks, the HS field contains a SHA-1 hash based on the
shared secret KH between Bob's OP and the introduction point, as
follows:
+
HS = H(KH | "INTRODUCE")
+
That is:
+
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
@@ -713,6 +718,7 @@
Bob's OP builds a new Tor circuit ending at Alice's chosen rendezvous
point, and sends a RELAY_COMMAND_RENDEZVOUS1 cell along this circuit,
containing:
+
RC Rendezvous cookie [20 octets]
g^y Diffie-Hellman [128 octets]
KH Handshake digest [20 octets]
@@ -740,7 +746,9 @@
has sent a RELAY_COMMAND_ESTABLISH_RENDEZVOUS cell but which has not yet
received a reply, it uses g^y and H(g^xy) to complete the handshake as in
the Tor circuit extend process: they establish a 60-octet string as
+
K = SHA1(g^xy | [00]) | SHA1(g^xy | [01]) | SHA1(g^xy | [02])
+
and generate KH, Df, Db, Kf, and Kb as in the KDF-TOR key derivation
approach documented in tor-spec.txt.
@@ -905,10 +913,14 @@
ATYPE Authorization type: set to 1. [1 octet]
ALEN Number of clients := 1 + ((clients - 1) div 16) [1 octet]
+
for each symmetric descriptor cookie:
+
ID Client ID: H(descriptor cookie | IV)[:4] [4 octets]
SKEY Session key encrypted with descriptor cookie [16 octets]
+
(end of client-specific part)
+
RND Random data [(15 - ((clients - 1) mod 16)) * 20 octets]
IV AES initialization vector [16 octets]
IPOS Intro points, encrypted with session key [remaining octets]