Skip to content

Commit 946bbeb

Browse files
authored
Merge pull request #849 from matheusd/onion-nonce-size
Clarify nonce size for onion cipher
2 parents 9046803 + ffa0a3c commit 946bbeb

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

04-onion-routing.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ There are a number of conventions adhered to throughout this document:
7878
- Elliptic curve: for all computations involving elliptic curves, the Bitcoin
7979
curve is used, as specified in [`secp256k1`][sec2]
8080
- Pseudo-random stream: [`ChaCha20`][rfc8439] is used to generate a
81-
pseudo-random byte stream. For its generation, a fixed null-nonce
82-
(`0x0000000000000000`) is used, along with a key derived from a shared
81+
pseudo-random byte stream. For its generation, a fixed 96-bit null-nonce
82+
(`0x000000000000000000000000`) is used, along with a key derived from a shared
8383
secret and with a `0x00`-byte stream of the desired output size as the
8484
message.
8585
- The terms _origin node_ and _final node_ refer to the initial packet sender
@@ -127,7 +127,7 @@ The pseudo-random byte stream is used to obfuscate the packet at each hop of the
127127
path, so that each hop may only recover the address and HMAC of the next hop.
128128
The pseudo-random byte stream is generated by encrypting (using `ChaCha20`) a
129129
`0x00`-byte stream, of the required length, which is initialized with a key
130-
derived from the shared secret and a zero-nonce (`0x00000000000000`).
130+
derived from the shared secret and a 96-bit zero-nonce (`0x000000000000000000000000`).
131131

132132
The use of a fixed nonce is safe, since the keys are never reused.
133133

0 commit comments

Comments
 (0)