diff options
author | Nick Mathewson <nickm@torproject.org> | 2023-11-09 16:25:38 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2023-11-09 16:25:38 +0000 |
commit | 22f5b0ecdb9d21448e1a04ba2687b8f84d52724b (patch) | |
tree | 0b62f272469ed0bece8f854674aec9f37722d3af /spec/tor-spec | |
parent | eab09d4a520b6d7d44fa73d120a5be889fdc9e51 (diff) | |
parent | 5063c0e80e4aeb62c47fe8eb406ed500431dae6e (diff) | |
download | torspec-22f5b0ecdb9d21448e1a04ba2687b8f84d52724b.tar.gz torspec-22f5b0ecdb9d21448e1a04ba2687b8f84d52724b.zip |
Merge branch 'preliminaries' into 'main'
Start an "introductions" sections with a "conventions" subsection to span all the specs
See merge request tpo/core/torspec!217
Diffstat (limited to 'spec/tor-spec')
-rw-r--r-- | spec/tor-spec/index.md | 1 | ||||
-rw-r--r-- | spec/tor-spec/opening-streams.md | 5 | ||||
-rw-r--r-- | spec/tor-spec/preliminaries.md | 27 | ||||
-rw-r--r-- | spec/tor-spec/system-overview.md | 10 |
4 files changed, 4 insertions, 39 deletions
diff --git a/spec/tor-spec/index.md b/spec/tor-spec/index.md index a81e1b9..219ea1d 100644 --- a/spec/tor-spec/index.md +++ b/spec/tor-spec/index.md @@ -9,3 +9,4 @@ Tor as they become obsolete. This specification is not a design document; most design criteria are not examined. For more information on why Tor acts as it does, see tor-design.pdf. + diff --git a/spec/tor-spec/opening-streams.md b/spec/tor-spec/opening-streams.md index d59e26b..757f776 100644 --- a/spec/tor-spec/opening-streams.md +++ b/spec/tor-spec/opening-streams.md @@ -26,8 +26,9 @@ fingerprinting. Implementations MUST accept strings in any case. The FLAGS value has one or more of the following bits set, where "bit 1" is the LSB of the 32-bit value, and "bit 32" is the MSB. -(Remember that all values in Tor are big-endian (see -["Preliminaries ยป Encoding integers"](./preliminaries.md#encoding)), so +(Remember that +[all integers in Tor are big-endian](../intro/conventions.md), +so the MSB of a 4-byte value is the MSB of the first byte, and the LSB of a 4-byte value is the LSB of its last byte.) diff --git a/spec/tor-spec/preliminaries.md b/spec/tor-spec/preliminaries.md index 8cc92b7..78e6e80 100644 --- a/spec/tor-spec/preliminaries.md +++ b/spec/tor-spec/preliminaries.md @@ -2,13 +2,6 @@ # Preliminaries -```text - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL - NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and - "OPTIONAL" in this document are to be interpreted as described in - RFC 2119. -``` - <a id="tor-spec.txt-0.1"></a> ## Notation and encoding{#notation-and-encoding} @@ -19,30 +12,10 @@ K -- a key for a symmetric cipher. N -- a "nonce", a random value, usually deterministically chosen from other inputs using hashing. - - a|b -- concatenation of 'a' and 'b'. ``` -\[A0 B1 C2\] -- a three-byte sequence, containing the bytes with -hexadecimal values A0, B1, and C2, in that order. - H(m) -- a cryptographic hash of m. -We use "byte" and "octet" interchangeably. Possibly we shouldn't. - -Some specs mention "base32". This means RFC4648, without "=" padding. - -<a id="tor-spec.txt-0.1.1"></a> - -### Encoding integers{#encoding} - -Unless we explicitly say otherwise below, all numeric values in the -Tor protocol are encoded in network (big-endian) order. So a "32-bit -integer" means a big-endian 32-bit integer; a "2-byte" integer means -a big-endian 16-bit integer, and so forth. - -<a id="tor-spec.txt-0.2"></a> - ## Security parameters Tor uses a stream cipher, a public-key cipher, the Diffie-Hellman diff --git a/spec/tor-spec/system-overview.md b/spec/tor-spec/system-overview.md deleted file mode 100644 index 17cc1a4..0000000 --- a/spec/tor-spec/system-overview.md +++ /dev/null @@ -1,10 +0,0 @@ -<a id="tor-spec.txt-1"></a> - -# System overview - -Tor is a distributed overlay network designed to anonymize -low-latency TCP-based applications such as web browsing, secure shell, -and instant messaging. Clients choose a path through the network and -build a `circuit'', in which each node (or`onion router'' or `OR'') in the path knows its predecessor and successor, but no other nodes in the circuit. Traffic flowing down the circuit is sent in fixed-size `cells'', which are unwrapped by a symmetric key at each node (like -the layers of an onion) and relayed downstream. - |