From ed0f9e437109c1abe0f949e1a47847a342f0a32b Mon Sep 17 00:00:00 2001 From: zzz Date: Thu, 14 Oct 2021 15:33:15 -0400 Subject: [PATCH] Still more prop 159 updates --- i2p2www/spec/proposals/159-ssu2.rst | 124 ++++++++++++++++++++++++---- 1 file changed, 109 insertions(+), 15 deletions(-) diff --git a/i2p2www/spec/proposals/159-ssu2.rst b/i2p2www/spec/proposals/159-ssu2.rst index e89f5dfb..0731ca88 100644 --- a/i2p2www/spec/proposals/159-ssu2.rst +++ b/i2p2www/spec/proposals/159-ssu2.rst @@ -2317,6 +2317,7 @@ There are two header types, long and short. Long Header ````````````` The long header is 32 bytes. It is used before a session is created, for SessionRequest, SessionCreated, and Retry. +Note that the first 9 bytes (Destination Connection ID and type) are the same for both headers. Before header obfuscation and protection: @@ -2327,7 +2328,7 @@ Before header obfuscation and protection: +----+----+----+----+----+----+----+----+ | Destination Connection ID | +----+----+----+----+----+----+----+----+ - |type ver| id |flag| Packet Number | + |type| ver| id |flag| Packet Number | +----+----+----+----+----+----+----+----+ | Source Connection ID | +----+----+----+----+----+----+----+----+ @@ -3562,11 +3563,11 @@ Unencrypted data (Poly1305 authentication tag not shown): Destination Connection ID :: Randomly generated by Alice - id :: 1 byte, the network ID (currently 2, except for test networks) + type :: 9 ver :: 2 - type :: 0 + id :: 1 byte, the network ID (currently 2, except for test networks) flag :: 1 byte, unused, set to 0 for future compatibility @@ -3574,7 +3575,7 @@ Unencrypted data (Poly1305 authentication tag not shown): Source Connection ID :: Randomly generated by Alice - Retry Token :: 8 byte unsigned integer + Retry Token :: 8 byte unsigned integer, nonzero options :: options block, 16 bytes, see below @@ -4009,18 +4010,64 @@ RelayRequest {% highlight lang='dataspec' %} +----+----+----+----+----+----+----+----+ - | 7 | size | TBD | - +----+----+----+ + - | | - ~ . . . ~ + | 7 | size | relay tag | asz| + +----+----+----+----+----+----+----+----+ + | Alice IP address | APort | csz| | + +----+----+----+----+----+----+----+ + + | challenge to be delivered to Charlie | + + + | | +----+----+----+----+----+----+----+----+ + | Alice's intro key | + + + + | | + + + + | | + + + + | | + +----+----+----+----+----+----+----+----+ + | nonce | + +----+----+----+----+ blk :: 7 size :: 2 bytes, big endian, size of data to follow + relay tag :: 4 byte relay (introduction) tag, nonzero, as received by + Alice in the SessionCreated_ message from Bob + asz :: 1 byte IP address size + Alice IP :: Alice's IP address, network byte order, asz bytes + APort :: 2 byte port number of Alice, network byte order + csz :: 1 byte challenge size + challenge :: if csz is nonzero, that many bytes to be relayed to Charlie in the intro + intro : Alice's 32-byte introduction key (so Bob can reply with + Charlie's info) + nonce :: 4 byte noHTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Connection: close Transfer-Encoding: chunked Cache-Control: max-age=0, private, must-revalidate, no-transform Set-Cookie: i_like_gitea=9929b2bbbc8203d8; Path=/; HttpOnly; Secure; SameSite=Lax Set-Cookie: _csrf=ytlpimzaaqAi4_DW4TeXtZ6NGw06MTc1MzI2ODY5NjQyNjc4MTYxNA; Path=/; Max-Age=86400; HttpOnly; Secure; SameSite=Lax X-Frame-Options: SAMEORIGIN Date: Wed, 23 Jul 2025 11:04:56 GMT X-Cache-Status: HIT X-Cache-Age: 0 1f99 From ed0f9e437109c1abe0f949e1a47847a342f0a32b Mon Sep 17 00:00:00 2001 From: zzz Date: Thu, 14 Oct 2021 15:33:15 -0400 Subject: [PATCH] Still more prop 159 updates --- i2p2www/spec/proposals/159-ssu2.rst | 124 ++++++++++++++++++++++++---- 1 file changed, 109 insertions(+), 15 deletions(-) diff --git a/i2p2www/spec/proposals/159-ssu2.rst b/i2p2www/spec/proposals/159-ssu2.rst index e89f5dfb..0731ca88 100644 --- a/i2p2www/spec/proposals/159-ssu2.rst +++ b/i2p2www/spec/proposals/159-ssu2.rst @@ -2317,6 +2317,7 @@ There are two header types, long and short. Long Header ````````````` The long header is 32 bytes. It is used before a session is created, for SessionRequest, SessionCreated, and Retry. +Note that the first 9 bytes (Destination Connection ID and type) are the same for both headers. Before header obfuscation and protection: @@ -2327,7 +2328,7 @@ Before header obfuscation and protection: +----+----+----+----+----+----+----+----+ | Destination Connection ID | +----+----+----+----+----+----+----+----+ - |type ver| id |flag| Packet Number | + |type| ver| id |flag| Packet Number | +----+----+----+----+----+----+----+----+ | Source Connection ID | +----+----+----+----+----+----+----+----+ @@ -3562,11 +3563,11 @@ Unencrypted data (Poly1305 authentication tag not shown): Destination Connection ID :: Randomly generated by Alice - id :: 1 byte, the network ID (currently 2, except for test networks) + type :: 9 ver :: 2 - type :: 0 + id :: 1 byte, the network ID (currently 2, except for test networks) flag :: 1 byte, unused, set to 0 for future compatibility @@ -3574,7 +3575,7 @@ Unencrypted data (Poly1305 authentication tag not shown): Source Connection ID :: Randomly generated by Alice - Retry Token :: 8 byte unsigned integer + Retry Token :: 8 byte unsigned integer, nonzero options :: options block, 16 bytes, see below @@ -4009,18 +4010,64 @@ RelayRequest {% highlight lang='dataspec' %} +----+----+----+----+----+----+----+----+ - | 7 | size | TBD | - +----+----+----+ + - | | - ~ . . . ~ + | 7 | size | relay tag | asz| + +----+----+----+----+----+----+----+----+ + | Alice IP address | APort | csz| | + +----+----+----+----+----+----+----+ + + | challenge to be delivered to Charlie | + + + | | +----+----+----+----+----+----+----+----+ + | Alice's intro key | + + + + | | + + + + | | + + + + | | + +----+----+----+----+----+----+----+----+ + | nonce | + +----+----+----+----+ blk :: 7 size :: 2 bytes, big endian, size of data to follow + relay tag :: 4 byte relay (introduction) tag, nonzero, as received by + Alice in the SessionCreated_ message from Bob + asz :: 1 byte IP address size + Alice IP :: Alice's IP address, network byte order, asz bytes + APort :: 2 byte port number of Alice, network byte order + csz :: 1 byte challenge size + challenge :: if csz is nonzero, that many bytes to be relayed to Charlie in the intro + intro : Alice's 32-byte introduction key (so Bob can reply with + Charlie's info) + nonce :: 4 byte no 0