forked from I2P_Developers/i2p.www
spec cleanups
This commit is contained in:
@@ -3,7 +3,7 @@ I2CP Specification
|
||||
==================
|
||||
.. meta::
|
||||
:category: Protocols
|
||||
:lastupdated: September 2019
|
||||
:lastupdated: October 2019
|
||||
:accuratefor: 0.9.43
|
||||
|
||||
.. contents::
|
||||
@@ -535,8 +535,10 @@ Contents
|
||||
- Bit order: 76543210
|
||||
- Bit 0: 0 for everybody, 1 for per-client
|
||||
- Bits 3-1: Authentication scheme, if bit 0 is set to 1 for per-client, otherwise 000
|
||||
000: DH client authentication (or no per-client authentication)
|
||||
001: PSK client authentication
|
||||
|
||||
* 000: DH client authentication (or no per-client authentication)
|
||||
* 001: PSK client authentication
|
||||
|
||||
- Bit 4: 1 if secret required, 0 if no secret required
|
||||
- Bits 7-5: Unused, set to 0 for future compatibility
|
||||
|
||||
@@ -559,10 +561,10 @@ Contents
|
||||
[SigningPublicKey]_ (length as implied by sig type)
|
||||
|
||||
7. [PrivateKey]_ Decryption key
|
||||
Only present if flag bit 0 is set to 1
|
||||
Only present if flag bit 0 is set to 1.
|
||||
A 32-byte ECIES_X25519 private key
|
||||
8. [String]_ Lookup Password
|
||||
Only present if flag bit 4 is set to 1
|
||||
Only present if flag bit 4 is set to 1.
|
||||
|
||||
|
||||
Notes
|
||||
|
@@ -3,8 +3,8 @@ I2NP Specification
|
||||
==================
|
||||
.. meta::
|
||||
:category: Protocols
|
||||
:lastupdated: June 2019
|
||||
:accuratefor: 0.9.41
|
||||
:lastupdated: October 2019
|
||||
:accuratefor: 0.9.43
|
||||
|
||||
.. contents::
|
||||
|
||||
@@ -51,6 +51,8 @@ below.
|
||||
0.9.38 DSM type bits 3-0 now contain the type;
|
||||
LeaseSet2 may be sent in a DSM
|
||||
|
||||
0.9.36 NTCP2 transport support (if advertised in router address)
|
||||
|
||||
0.9.28 RSA sig types disallowed
|
||||
|
||||
0.9.18 DSM type bits 7-1 ignored
|
||||
@@ -141,6 +143,14 @@ Standard (16 bytes):
|
||||
|type| short_expiration |
|
||||
+----+----+----+----+----+
|
||||
|
||||
Short (NTCP2, 9 bytes):
|
||||
|
||||
+----+----+----+----+----+----+----+----+
|
||||
|type| msg_id | short_expira-
|
||||
+----+----+----+----+----+----+----+----+
|
||||
tion|
|
||||
+----+
|
||||
|
||||
type :: `Integer`
|
||||
length -> 1 byte
|
||||
purpose -> identifies the message type (see table below)
|
||||
@@ -177,8 +187,13 @@ Standard (16 bytes):
|
||||
Notes
|
||||
`````
|
||||
* When transmitted over [SSU]_, the 16-byte standard header is not used. Only a
|
||||
1-byte type and a 4-byte expiration in seconds is included. The message id
|
||||
and size are incorporated into various parts of the SSU data packet format.
|
||||
1-byte type and a 4-byte expiration in seconds are included. The message id
|
||||
and size are incorporated in the SSU data packet format.
|
||||
The checksum is not required since errors are caught in decryption.
|
||||
|
||||
* When transmitted over [NTCP2]_, the 16-byte standard header is not used. Only a
|
||||
1-byte type, 4-byte message id, and a 4-byte expiration in seconds are included.
|
||||
The size is incorporated in the NTCP2 data packet format.
|
||||
The checksum is not required since errors are caught in decryption.
|
||||
|
||||
* The standard header is also required for I2NP messages contained in other
|
||||
@@ -986,7 +1001,8 @@ Used to wrap multiple encrypted I2NP Messages
|
||||
|
||||
Contents
|
||||
````````
|
||||
When decrypted, a series of `Garlic Cloves`_.
|
||||
When decrypted, a series of `Garlic Cloves`_ and additional
|
||||
data, also known as a Clove Set.
|
||||
|
||||
Encrypted:
|
||||
|
||||
@@ -1010,7 +1026,8 @@ Encrypted:
|
||||
$length bytes
|
||||
ElGamal encrypted data
|
||||
{% endhighlight %}
|
||||
Unencrypted data:
|
||||
|
||||
Decrypted data, also known as a Clove Set:
|
||||
|
||||
.. raw:: html
|
||||
|
||||
@@ -1332,6 +1349,9 @@ References
|
||||
.. [Integer]
|
||||
{{ ctags_url('Integer') }}
|
||||
|
||||
.. [NTCP2]
|
||||
{{ spec_url('ntcp2') }}
|
||||
|
||||
.. [RouterIdentity]
|
||||
{{ ctags_url('RouterIdentity') }}
|
||||
|
||||
|
Reference in New Issue
Block a user