aboutsummaryrefslogtreecommitdiff
path: root/spec/tor-spec-intro.md
diff options
context:
space:
mode:
Diffstat (limited to 'spec/tor-spec-intro.md')
-rw-r--r--spec/tor-spec-intro.md81
1 files changed, 1 insertions, 80 deletions
diff --git a/spec/tor-spec-intro.md b/spec/tor-spec-intro.md
index 185d852..a81e1b9 100644
--- a/spec/tor-spec-intro.md
+++ b/spec/tor-spec-intro.md
@@ -1,83 +1,4 @@
-Tor Protocol Specification
-
-```text
- 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.4.1. The "ntor-v3" handshake.
- 5.1.5. CREATE_FAST/CREATED_FAST cells
- 5.1.6. Additional data in CREATE/CREATED 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.1.1. Calculating the 'Digest' field
- 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"
-```
+# Tor Protocol Specification
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