[tor-commits] [torspec/main] tor-spec: Add 'Table of contents'

dgoulet at torproject.org dgoulet at torproject.org
Mon Sep 27 13:28:22 UTC 2021


commit fc55af27004ba1fc45fdb9196f1655806ca932f9
Author: Oleh Franchuk <0x00.gear at gmail.com>
Date:   Mon Aug 23 19:31:32 2021 +0300

    tor-spec: Add 'Table of contents'
---
 tor-spec.txt | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/tor-spec.txt b/tor-spec.txt
index de95acb..4b2c7f2 100644
--- a/tor-spec.txt
+++ b/tor-spec.txt
@@ -4,6 +4,77 @@
                               Roger Dingledine
                                Nick Mathewson
 
+Table of Contents
+
+    0. Preliminaries
+        0.1. Notation and encoding
+        0.2. Security parameters
+        0.3. Ciphers
+        0.4. A bad hybrid encryption algorithm, for legacy purposes
+    1. System overview
+        1.1. Keys and names
+    2. Connections
+        2.1. Picking TLS ciphersuites
+        2.2. TLS security considerations
+    3. Cell Packet format
+    4. Negotiating and initializing connections
+        4.1. Negotiating versions with VERSIONS cells
+        4.2. CERTS cells
+        4.3. AUTH_CHALLENGE cells
+        4.4. AUTHENTICATE cells
+            4.4.1. Link authentication type 1: RSA-SHA256-TLSSecret
+            4.4.2. Link authentication type 3: Ed25519-SHA256-RFC5705
+        4.5. NETINFO cells
+    5. Circuit management
+        5.1. CREATE and CREATED cells
+            5.1.1. Choosing circuit IDs in create cells
+            5.1.2. EXTEND and EXTENDED cells
+            5.1.3. The "TAP" handshake
+            5.1.4. The "ntor" handshake
+            5.1.5. CREATE_FAST/CREATED_FAST cells
+        5.2. Setting circuit keys
+            5.2.1. KDF-TOR
+            5.2.2. KDF-RFC5869
+        5.3. Creating circuits
+            5.3.1. Canonical connections
+        5.4. Tearing down circuits
+        5.5. Routing relay cells
+            5.5.1. Circuit ID Checks
+            5.5.2. Forward Direction
+                5.5.2.1. Routing from the Origin
+                5.5.2.2. Relaying Forward at Onion Routers
+            5.5.3. Backward Direction
+                5.5.3.1. Relaying Backward at Onion Routers
+            5.5.4. Routing to the Origin
+        5.6. Handling relay_early cells
+    6. Application connections and stream management
+        6.1. Relay cells
+        6.2. Opening streams and transferring data
+            6.2.1. Opening a directory stream
+        6.3. Closing streams
+        6.4. Remote hostname lookup
+    7. Flow control
+        7.1. Link throttling
+        7.2. Link padding
+        7.3. Circuit-level flow control
+            7.3.1. SENDME Cell Format
+        7.4. Stream-level flow control
+    8. Handling resource exhaustion
+        8.1. Memory exhaustion
+    9. Subprotocol versioning
+        9.1. "Link"
+        9.2. "LinkAuth"
+        9.3. "Relay"
+        9.4. "HSIntro"
+        9.5. "HSRend"
+        9.6. "HSDir"
+        9.7. "DirCache"
+        9.8. "Desc"
+        9.9. "Microdesc"
+        9.10. "Cons"
+        9.11. "Padding"
+        9.12. "FlowCtrl"
+
 Note: This document aims to specify Tor as currently implemented, though it
 may take it a little time to become fully up to date. Future versions of Tor
 may implement improved protocols, and compatibility is not guaranteed.





More information about the tor-commits mailing list