forked from I2P_Developers/i2p.www
markup fixes
This commit is contained in:
@@ -1415,7 +1415,7 @@ This is the Split() function, exactly as defined in the Noise spec.
|
|||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
{% highlight lang='dataspec' %}
|
{% highlight lang='text' %}
|
||||||
|
|
||||||
ck = from handshake phase
|
ck = from handshake phase
|
||||||
|
|
||||||
@@ -1523,7 +1523,7 @@ Following is from obfs4:
|
|||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
{% highlight lang='dataspec' %}
|
{% highlight lang='text' %}
|
||||||
|
|
||||||
Once both sides have completed the handshake, they transfer application
|
Once both sides have completed the handshake, they transfer application
|
||||||
data broken up into "packets", that are then encrypted and authenticated in
|
data broken up into "packets", that are then encrypted and authenticated in
|
||||||
@@ -1573,7 +1573,7 @@ Raw contents
|
|||||||
|
|
||||||
{% highlight lang='dataspec' %}
|
{% highlight lang='dataspec' %}
|
||||||
+----+----+----+----+----+----+----+----+
|
+----+----+----+----+----+----+----+----+
|
||||||
|obf. size| |
|
|obf size | |
|
||||||
+----+----+ +
|
+----+----+ +
|
||||||
| |
|
| |
|
||||||
+ ChaCha/Poly frame +
|
+ ChaCha/Poly frame +
|
||||||
@@ -1588,6 +1588,8 @@ Raw contents
|
|||||||
| |
|
| |
|
||||||
+----+----+----+----+----+----+----+----+
|
+----+----+----+----+----+----+----+----+
|
||||||
|
|
||||||
|
obf size :: 2 bytes length obfuscated with SipHash
|
||||||
|
|
||||||
Maximum size is 65537 bytes.
|
Maximum size is 65537 bytes.
|
||||||
Obfuscated length is 2 bytes.
|
Obfuscated length is 2 bytes.
|
||||||
Maximum ChaCha/poly frame is 65535 bytes.
|
Maximum ChaCha/poly frame is 65535 bytes.
|
||||||
@@ -1639,6 +1641,7 @@ so the max unencrypted data is 65519 bytes.
|
|||||||
254 for padding
|
254 for padding
|
||||||
255 reserved for future extension
|
255 reserved for future extension
|
||||||
size :: size of data to follow, 0 - 65516
|
size :: size of data to follow, 0 - 65516
|
||||||
|
data :: the data
|
||||||
|
|
||||||
Maximum ChaCha/Poly frame is 65535 bytes.
|
Maximum ChaCha/Poly frame is 65535 bytes.
|
||||||
Poly1305 tag is 16 bytes
|
Poly1305 tag is 16 bytes
|
||||||
@@ -2076,15 +2079,20 @@ To detect the version of an incoming NTCP connection, Bob proceeds as follows:
|
|||||||
- If the initial received data is 288 or more bytes, the incoming connection
|
- If the initial received data is 288 or more bytes, the incoming connection
|
||||||
is version 1.
|
is version 1.
|
||||||
- If less than 288 bytes, either
|
- If less than 288 bytes, either
|
||||||
|
|
||||||
- Wait for a short time for more data
|
- Wait for a short time for more data
|
||||||
(good strategy before widespread NTCP2 adoption)
|
(good strategy before widespread NTCP2 adoption)
|
||||||
if at least 288 total received, it's NTCP 1.
|
if at least 288 total received, it's NTCP 1.
|
||||||
|
|
||||||
- Try the first stages of decoding as version 2, if it fails, wait a short time for more data
|
- Try the first stages of decoding as version 2, if it fails, wait a short time for more data
|
||||||
(good strategy after widespread NTCP2 adoption)
|
(good strategy after widespread NTCP2 adoption)
|
||||||
|
|
||||||
- Decrypt the first 32 bytes (the X key)
|
- Decrypt the first 32 bytes (the X key)
|
||||||
of the SessionRequest packet using AES-256 with key RH_B.
|
of the SessionRequest packet using AES-256 with key RH_B.
|
||||||
|
|
||||||
- Verify a valid point on the curve.
|
- Verify a valid point on the curve.
|
||||||
If it fails, wait a short time for more data for NTCP 1
|
If it fails, wait a short time for more data for NTCP 1
|
||||||
|
|
||||||
- Verify the AEAD block.
|
- Verify the AEAD block.
|
||||||
If it fails, wait a short time for more data for NTCP 1
|
If it fails, wait a short time for more data for NTCP 1
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user