diff --git a/i2p2www/pages/site/about/media.html b/i2p2www/pages/site/about/media.html
index 34c350fa..27ecd249 100644
--- a/i2p2www/pages/site/about/media.html
+++ b/i2p2www/pages/site/about/media.html
@@ -168,14 +168,14 @@ Adrian Crenshaw.
{% trans link1='http://invisibleip.sourceforge.net/iip/mediaDCInterview1.php',
link2='http://invisibleip.sourceforge.net/iip/mediaDCInterview2.php' -%}
-0x90 Interviewed by DistributedCity
+Lance James (0x90) Interviewed by DistributedCity
Part 1
Part 2
July 26, 2002.
{%- endtrans %}
{% trans link='http://invisibleip.sourceforge.net/iip/resources/elpais-iip.txt' -%}
-0x90 Interviewed by El Pais
+Lance James (0x90) Interviewed by El Pais
(original in Spanish)
English translation
October 31, 2002.
@@ -214,5 +214,17 @@ November 11, 2011.
February 16, 2012
{%- endtrans %}
+
+
+{{ _('Other') }}
+
+
+- {% trans -%}
+I2P mentioned in Netflix's "House of Cards" Season 2 Episode 2,
+February 14, 2014
+{%- endtrans %}
+
+
+
{% endblock %}
diff --git a/i2p2www/pages/site/docs/spec/ssu.html b/i2p2www/pages/site/docs/spec/ssu.html
index d3551b0d..b69c5880 100644
--- a/i2p2www/pages/site/docs/spec/ssu.html
+++ b/i2p2www/pages/site/docs/spec/ssu.html
@@ -266,7 +266,7 @@ This is the first message sent to establish a session.
N bytes, currently uninterpreted
Key used: |
- introKey |
+ Bob's introKey, as retrieved from the network database |
Message format:
@@ -324,7 +324,7 @@ This is the response to a Session Request.
N bytes, currently uninterpreted
Key used: |
- introKey, with an additional layer of encryption over the 40 byte
+ | Bob's introKey, with an additional layer of encryption over the 40 byte
signature and the following 8 bytes padding. |
@@ -378,6 +378,9 @@ and Bob is unaware of it, the verification by Alice will fail.
See the Keys section above for details on DSA signatures.
Alice already has Bob's public signing key, from the network database.
+This is the only message that uses the sender's intro key.
+All others use the receiver's intro key or the established session key.
+
Signed-on time appears to be unused or unverified in the current implementation.
The uninterpreted data could possibly be used in the future for challenges.
@@ -416,7 +419,7 @@ bits 3-0: total identity fragments (F) 1-15
Key used: |
- sessionKey |
+ Alice/Bob sessionKey, as generated from the DH exchange |
@@ -510,7 +513,7 @@ and is sent as of release 0.8.9.
none
|
Key used: |
- sessionKey or introKey |
+ Alice/Bob sessionKey |
@@ -520,6 +523,12 @@ Typical size including header, in current implementation: 48 bytes
(before non-mod-16 padding)
+Notes
+-
+Destroy messages received with the sender's or receiver's intro key will be ignored.
+
+
+
RelayRequest (type 3)
This is the first message sent from Alice to Bob to request an introduction to Charlie.
@@ -541,7 +550,7 @@ This is the first message sent from Alice to Bob to request an introduction to C
N bytes, currently uninterpreted
Key used: |
- introKey (or sessionKey, if Alice/Bob is established) |
+ Bob's introKey, as retrieved from the network database (or Alice/Bob sessionKey, if established) |
Message format:
@@ -587,6 +596,10 @@ If Alice includes her address/port, Bob may perform additional validation before
Challenge is unimplemented, challenge size is always zero
There are no plans to implement relaying for IPv6.
+
+Prior to release 0.9.12, Bob's intro key was always used.
+As of release 0.9.12, the session key is used if there is an established session
+between Alice and Bob.
@@ -610,7 +623,7 @@ This is the response to a Relay Request and is sent from Bob to Alice.
N bytes, currently uninterpreted
Key used: |
- introKey (or sessionKey, if Alice/Bob is established) |
+ Alice's introKey, as received in the Relay Request (or Alice/Bob sessionKey, if established) |
Message format:
@@ -644,6 +657,10 @@ Charlie's IP address must be IPv4, as that is the address that Alice will send
the SessionRequest to after the Hole Punch.
There are no plans to implement relaying for IPv6.
+
+Prior to release 0.9.12, Alice's intro key was always used.
+As of release 0.9.12, the session key is used if there is an established session
+between Alice and Bob.
@@ -666,7 +683,7 @@ This is the introduction for Alice, which is sent from Bob to Charlie.
N bytes, currently uninterpreted
Key used: |
- sessionKey |
+ Bob/Charlie sessionKey |
Message format:
@@ -867,14 +884,37 @@ See the SSU overview
Data: |
- 4 byte nonce
- - 1 byte IP address size
- - that many byte representation of Alice's IP address
+ - 1 byte IP address size (may be zero)
+ - that many byte representation of Alice's IP address, if size > 0
- 2 byte Alice's port number
- - Alice's 32-byte introduction key
+ - Alice's or Charlie's 32-byte introduction key
- N bytes, currently uninterpreted
|
Key used: |
- introKey (or sessionKey if the connection has already been established) |
+
+Listed in order of occurrence:
+-
+When sent from Alice to Bob:
+Alice/Bob sessionKey
+(the protocol also permits Bob's introKey if Alice and Bob do not have an established session,
+ but in the current implementation Alice always selects a Bob that is established)
+
-
+When sent from Bob to Charlie:
+Bob/Charlie sessionKey
+
-
+When sent from Charlie to Bob:
+Bob/Charlie sessionKey
+
-
+When sent from Bob to Alice:
+Alice's introKey, as received in the Peer Test message from Alice
+
-
+When sent from Charlie to Alice:
+Alice's introKey, as received in the Peer Test message from Bob
+
-
+When sent from Alice to Charlie:
+Charlie's introKey, as received in the Peer Test message from Charlie
+
+ |
Message format:
diff --git a/i2p2www/pages/site/docs/transport/ssu.html b/i2p2www/pages/site/docs/transport/ssu.html
index 73a240de..fc68fd08 100644
--- a/i2p2www/pages/site/docs/transport/ssu.html
+++ b/i2p2www/pages/site/docs/transport/ssu.html
@@ -138,13 +138,14 @@ For connections using the larger MTU, larger messages are possible.
{% trans -%}
All encryption used is AES256/CBC with 32 byte keys and 16 byte IVs.
-The MAC and session keys are negotiated as part of the DH exchange, used
-for the HMAC and encryption, respectively. Prior to the DH exchange,
-the publicly knowable introKey is used for the MAC and encryption.
+When Alice originates a session with Bob,
+the MAC and session keys are negotiated as part of the DH exchange, and are then used
+for the HMAC and encryption, respectively. During the DH exchange,
+Bob's publicly knowable introKey is used for the MAC and encryption.
{%- endtrans %}
{% trans -%}
-When using the introKey, both the initial message and any subsequent
+Both the initial message and the subsequent
reply use the introKey of the responder (Bob) - the responder does
not need to know the introKey of the requester (Alice). The DSA
signing key used by Bob should already be known to Alice when she