# Summary [About these specifications](./README.md) # Introduction - [A short introduction to Tor](./intro/index.md) - [Notation and conventions](./intro/conventions.md) # The core Tor protocol - [`Tor Protocol Specification`](./tor-spec/index.md) - [Preliminaries](./tor-spec/preliminaries.md) - [Relay keys and identities](./tor-spec/relay-keys.md) - [Channels](./tor-spec/channels.md) - [Negotiating and initializing channels](./tor-spec/negotiating-channels.md) - [Obsolete channel negotiation handshakes](./tor-spec/obsolete-channels.md) - [Cells (messages on channels)](./tor-spec/cell-packet-format.md) - [Circuit management](./tor-spec/circuit-management.md) - [CREATE and CREATED cells](./tor-spec/create-created-cells.md) - [Setting circuit keys](./tor-spec/setting-circuit-keys.md) - [Creating circuits](./tor-spec/creating-circuits.md) - [Tearing down circuits](./tor-spec/tearing-down-circuits.md) - [Routing relay cells](./tor-spec/routing-relay-cells.md) - [Handling relay_early cells](./tor-spec/relay-early.md) - [Application connections and stream management](./tor-spec/streams.md) - [Relay cells](./tor-spec/relay-cells.md) - [Opening streams and transferring data](./tor-spec/opening-streams.md) - [Closing streams](./tor-spec/closing-streams.md) - [Remote hostname lookup](./tor-spec/remote-hostname-lookup.md) - [Flow control](./tor-spec/flow-control.md) - [Subprotocol versioning](./tor-spec/subprotocol-versioning.md) - [Certificates in Tor](./cert-spec.md) - [`Tor directory protocol, version 3`](./dir-spec/index.md) - [Outline](./dir-spec/outline.md) - [Router operation and formats](./dir-spec/router-operation-formats.md) - [Uploading server descriptors and extra-info documents](./dir-spec/uploading-relay-documents.md) - [Server descriptor format](./dir-spec/server-descriptor-format.md) - [Extra-info document format](./dir-spec/extra-info-document-format.md) - [Nonterminals in server descriptors](./dir-spec/nonterminals-server-descriptors.md) - [Directory authority operation and formats](./dir-spec/directory-authority-operation-formats.md) - [Creating key certificates](./dir-spec/creating-key-certificates.md) - [Accepting server descriptor and extra-info document uploads](./dir-spec/accepting-relay-documents.md) - [Computing microdescriptors](./dir-spec/computing-microdescriptors.md) - [Exchanging votes](./dir-spec/exchanging-votes.md) - [Vote and consensus status document formats](./dir-spec/consensus-formats.md) - [Assigning flags in a vote](./dir-spec/assigning-flags-vote.md) - [Serving bandwidth list files](./dir-spec/serving-bandwidth-list-files.md) - [Downloading information from other directory authorities](./dir-spec/downloading-from-other-auths.md) - [Computing a consensus from a set of votes](./dir-spec/computing-consensus.md) - [Exchanging detached signatures](./dir-spec/exchanging-detached-signatures.md) - [Publishing the signed consensus](./dir-spec/publishing-consensus.md) - [Directory cache operation](./dir-spec/directory-cache-operation.md) - [Client operation](./dir-spec/client-operation.md) - [Standards compliance](./dir-spec/standards-compliance.md) - [Consensus-negotiation timeline.](./dir-spec/consensus-negotiation-timeline.md) - [General-use HTTP URLs](./dir-spec/general-use-http-urls.md) - [Converting a curve25519 public key to an ed25519 public key](./dir-spec/converting-to-ed25519.md) - [Inferring missing proto lines.](./dir-spec/inferring-missing-proto-lines.md) - [Limited ed diff format](./dir-spec/limited-ed-diff-format.md) - [`Tor Shared Random Subsystem Specification`](./srv-spec/index.md) - [Introduction](./srv-spec/introduction.md) - [Overview](./srv-spec/overview.md) - [Protocol](./srv-spec/protocol.md) - [Specification \[SPEC\]](./srv-spec/specification.md) - [Security Analysis](./srv-spec/security-analysis.md) - [Discussion](./srv-spec/discussion.md) - [Acknowledgements](./srv-spec/acknowledgements.md) - [`Tor Path Specification`](./path-spec/index.md) - [General operation](./path-spec/general-operation.md) - [Building circuits](./path-spec/building-circuits.md) - [When we build](./path-spec/when-we-build.md) - [Path selection and constraints](./path-spec/path-selection-constraints.md) - [Cannibalizing circuits](./path-spec/cannibalizing-circuits.md) - [Learning when to give up ("timeout") on circuit construction](./path-spec/learning-timeouts.md) - [Handling failure](./path-spec/handling-failure.md) - [Attaching streams to circuits](./path-spec/attaching-streams-to-circuits.md) - [Hidden-service related circuits](./path-spec/hidden-service-related-circuits.md) - [Guard nodes](./path-spec/guard-nodes.md) - [Server descriptor purposes](./path-spec/server-descriptor-purposes.md) - [Detecting route manipulation by Guard nodes (Path Bias)](./path-spec/detecting-route-manipulation.md) - [`Tor Guard Specification`](./guard-spec/index.md) - [State instances](./guard-spec/state-instances.md) - [Circuit Creation, Entry Guard Selection (1000 foot view)](./guard-spec/guard-selection/index.md) - [The algorithm.](./guard-spec/algorithm.md) - [Appendices](./guard-spec/appendices.md) - [`Tor Vanguards Specification`](./vanguards-spec/index.md) - [Full Vanguards](./vanguards-spec/full-vanguards.md) - [Vanguards-Lite](./vanguards-spec/vanguards-lite.md) - [Path Construction](./vanguards-spec/path-construction.md) - [Statistical Analysis](./vanguards-spec/vanguards-stats.md) - [`Tor Padding Specification`](./padding-spec/index.md) - [Overview](./padding-spec/overview.md) - [Connection-level padding](./padding-spec/connection-level-padding.md) - [Circuit-level padding](./padding-spec/circuit-level-padding.md) - [Acknowledgments](./padding-spec/acknowledgments.md) - [`Preventing Denial-Of-Service`](./dos-spec/index.md) - [Overview](./dos-spec/overview.md) - [Memory exhaustion](./dos-spec/memory-exhaustion.md) # Additional behaviors for clients - [`Tor's extensions to the SOCKS protocol`](./socks-extensions.md) - [`Special Hostnames in Tor`](./address-spec.md) # Onion services - [`Tor Rendezvous Specification - Version 3`](./rend-spec/index.md) - [Hidden services: overview and preliminaries.](./rend-spec/overview.md) - [Protocol overview](./rend-spec/protocol-overview.md) - [Generating and publishing hidden service descriptors \[HSDIR\]](./rend-spec/hsdesc.md) - [Deriving blinded keys and subcredentials \[SUBCRED\]](./rend-spec/deriving-keys.md) - [Publishing shared random values \[PUB-SHAREDRANDOM\]](./rend-spec/shared-random.md) - [Hidden service descriptors: outer wrapper \[DESC-OUTER\]](./rend-spec/hsdesc-outer.md) - [Hidden service descriptors: encryption format \[HS-DESC-ENC\]](./rend-spec/hsdesc-encrypt.md) - [The introduction protocol \[INTRO-PROTOCOL\]](./rend-spec/introduction-protocol.md) - [The rendezvous protocol](./rend-spec/rendezvous-protocol.md) - [Encrypting data between client and host](./rend-spec/encrypting-user-data.md) - [Encoding onion addresses \[ONIONADDRESS\]](./rend-spec/encoding-onion-addresses.md) - [Managing streams](./rend-spec/managing-streams.md) - [References](./rend-spec/references.md) - [Appendix A: Signature scheme with key blinding \[KEYBLIND\]](./rend-spec/keyblinding-scheme.md) - [Appendix B: Selecting nodes \[PICKNODES\]](./rend-spec/selecting-nodes-picknodes.md) - [Appendix C: Recommendations for searching for vanity .onions \[VANITY\]](./rend-spec/vanity-onions.md) - [Appendix D: (removed)]() - [Appendix E: Reserved numbers](./rend-spec/reserved-numbers.md) - [Appendix F: Hidden service directory format \[HIDSERVDIR-FORMAT\]](./rend-spec/fs-contents.md) - [Appendix G: Managing authorized client data \[CLIENT-AUTH-MGMT\]](./rend-spec/client-authorization.md) - [Appendix F: Two methods for managing revision counters.](./rend-spec/revision-counter-mgt.md) - [Appendix G: Test vectors](./rend-spec/test-vectors.md) - [`Proof of Work for onion service introduction`](./hspow-spec/index.md) - [Motivation](./hspow-spec/motivation.md) - [Common protocol](./hspow-spec/common-protocol.md) - [Version 1, Equi-X and Blake2b](./hspow-spec/v1-equix.md) - [Analysis and discussion](./hspow-spec/analysis-discussion.md) # Anticensorship tools and protocols - [`BridgeDB specification`](./bridgedb-spec.md) - [`Extended ORPort for pluggable transports`](./ext-orport-spec.md) - [`Pluggable Transport Specification (Version 1)`](./pt-spec/index.md) - [Introduction](./pt-spec/introduction.md) - [Architecture Overview](./pt-spec/architecture-overview.md) - [Specification](./pt-spec/specification.md) - [Pluggable Transport Naming](./pt-spec/naming.md) - [Pluggable Transport Configuration Environment Variables](./pt-spec/configuration-environment.md) - [Pluggable Transport To Parent Process Communication](./pt-spec/ipc.md) - [Pluggable Transport Shutdown](./pt-spec/shutdown.md) - [Pluggable Transport Client Per-Connection Arguments](./pt-spec/per-connection-args.md) - [Anonymity Considerations](./pt-spec/anonymity-considerations.md) - [References](./pt-spec/references.md) - [Acknowledgments](./pt-spec/acknowledgments.md) - [Appendix A: Example Client Pluggable Transport Session](./pt-spec/example-client-session.md) - [Appendix B: Example Server Pluggable Transport Session](./pt-spec/example-server-session.md) # For C Tor only - [`The Tor Control Protocol`](./control-spec/index.md) - [Protocol outline](./control-spec/protocol-outline.md) - [Message format](./control-spec/message-format.md) - [Commands](./control-spec/commands.md) - [Replies](./control-spec/replies.md) - [Implementation notes](./control-spec/implementation-notes.md) - [`How Tor Version Numbers Work`](./version-spec.md) # Less commonly needed file formats - [`Tor Bandwidth File Format`](./bandwidth-file-spec/index.md) - [Scope and preliminaries](./bandwidth-file-spec/scope-preliminaries.md) - [Format details](./bandwidth-file-spec/format-details.md) - [Definitions](./bandwidth-file-spec/definitions.md) - [Header List format](./bandwidth-file-spec/header-list-format.md) - [Relay Line format](./bandwidth-file-spec/relay-line-format.md) - [Implementation details](./bandwidth-file-spec/implementation-details.md) - [Sample data](./bandwidth-file-spec/sample-data.md) - [Scaling bandwidths](./bandwidth-file-spec/scaling-bandwidths.md) # Implementation details - [`Tor Directory List Format`](./dir-list-spec.md) # Reserved names and numbers - [`Tor network parameters`](./param-spec.md) - [`SSH protocol extensions`](./ssh-protocols.md) # Unfinished - [`Glossary`](./glossary.md) # Maintenance and and editing of the Tor Specifications - [`About the Tor Specifications documents`](./back-matter.md) - [`Style guide`](./STYLE.md) - [`Permalinks`](./permalinks.md)