forked from I2P_Developers/i2p.www
markup fixes
This commit is contained in:
@@ -379,15 +379,12 @@ The following crypto operations are required by each party to complete
|
|||||||
the handshake and start the data phase:
|
the handshake and start the data phase:
|
||||||
|
|
||||||
- AES: 2
|
- AES: 2
|
||||||
- SHA256: 8 (Alice), 6 (Bob)
|
- SHA256: 8 (Alice), 6 (Bob) (not including 4 Alice, 6 Bob precalculated for all connections) (not including HMAC-SHA256)
|
||||||
(not including 4 Alice, 6 Bob precalculated for all connections)
|
|
||||||
(not including HMAC-SHA256)
|
|
||||||
- HMAC-SHA256: 15
|
- HMAC-SHA256: 15
|
||||||
- ChaCha/Poly: 4
|
- ChaCha/Poly: 4
|
||||||
- X25519 DH: 3
|
- X25519 DH: 3
|
||||||
- SipHash: 1
|
- SipHash: 1
|
||||||
- Signature verification: 1 (Bob) (Alice previously signed when generating her RI)
|
- Signature verification: 1 (Bob) (Alice previously signed when generating her RI) Presumably Ed25519 (dependent on RI sigtype)
|
||||||
Presumably Ed25519 (dependent on RI sigtype)
|
|
||||||
|
|
||||||
|
|
||||||
The following crypto operations are required by each party for each data phase message:
|
The following crypto operations are required by each party for each data phase message:
|
||||||
@@ -424,7 +421,7 @@ Payload Security Properties
|
|||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
{% highlight %}
|
{% highlight lang='text' %}
|
||||||
XK(s, rs): Authentication Confidentiality
|
XK(s, rs): Authentication Confidentiality
|
||||||
<- s
|
<- s
|
||||||
...
|
...
|
||||||
@@ -569,7 +566,7 @@ exactly as defined in the Noise spec.
|
|||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
{% highlight %}
|
{% highlight lang='text' %}
|
||||||
|
|
||||||
This is the "e" message pattern:
|
This is the "e" message pattern:
|
||||||
|
|
||||||
@@ -675,7 +672,7 @@ Payload Security Properties
|
|||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
{% highlight %}
|
{% highlight lang='text' %}
|
||||||
XK(s, rs): Authentication Confidentiality
|
XK(s, rs): Authentication Confidentiality
|
||||||
-> e, es 0 2
|
-> e, es 0 2
|
||||||
|
|
||||||
@@ -905,7 +902,7 @@ Key Derivation Function (KDF) (for handshake message 2)
|
|||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
{% highlight %}
|
{% highlight lang='text' %}
|
||||||
|
|
||||||
// probably do this also:
|
// probably do this also:
|
||||||
h = SHA256(h || random padding from message 1)
|
h = SHA256(h || random padding from message 1)
|
||||||
@@ -980,7 +977,7 @@ Payload Security Properties
|
|||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
{% highlight %}
|
{% highlight lang='text' %}
|
||||||
XK(s, rs): Authentication Confidentiality
|
XK(s, rs): Authentication Confidentiality
|
||||||
<- e, ee 2 1
|
<- e, ee 2 1
|
||||||
|
|
||||||
@@ -1154,7 +1151,7 @@ Encryption for for handshake message 3 part 1, using message 1 KDF)
|
|||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
{% highlight %}
|
{% highlight lang='text' %}
|
||||||
|
|
||||||
// probably do this also:
|
// probably do this also:
|
||||||
h = SHA256(h || random padding from message 2)
|
h = SHA256(h || random padding from message 2)
|
||||||
@@ -1185,8 +1182,7 @@ Key Derivation Function (KDF) (for handshake message 3 part 2)
|
|||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
{% highlight %}
|
{% highlight lang='text' %}
|
||||||
|
|
||||||
|
|
||||||
This is the "se" message pattern:
|
This is the "se" message pattern:
|
||||||
|
|
||||||
@@ -1254,7 +1250,7 @@ Payload Security Properties
|
|||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
{% highlight %}
|
{% highlight lang='text' %}
|
||||||
XK(s, rs): Authentication Confidentiality
|
XK(s, rs): Authentication Confidentiality
|
||||||
-> s, se 2 5
|
-> s, se 2 5
|
||||||
|
|
||||||
@@ -1483,7 +1479,7 @@ Payload Security Properties
|
|||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
{% highlight %}
|
{% highlight lang='text' %}
|
||||||
XK(s, rs): Authentication Confidentiality
|
XK(s, rs): Authentication Confidentiality
|
||||||
<- 2 5
|
<- 2 5
|
||||||
-> 2 5
|
-> 2 5
|
||||||
@@ -2079,11 +2075,11 @@ To detect the version of an incoming NTCP connection, Bob proceeds as follows:
|
|||||||
- Wait for at least 64 bytes (minimum NTCP2 message 1 size)
|
- Wait for at least 64 bytes (minimum NTCP2 message 1 size)
|
||||||
- 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
|
||||||
1) 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.
|
||||||
2) 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.
|
||||||
|
Reference in New Issue
Block a user