o Group Diffie-Hellman protocol for establishig key with two or more
users on a channel.
+ o Change CTR mode description:
+
+ Truncated HASH from SKE (4 bytes) - This value is the first 4
+ bytes from the HASH value that was computed as a result of SKE
+ protocol. This acts as session identifier and each rekey MUST
+ produce a new HASH value.
+
+ to
+
+ Truncated HASH from SKE (4 bytes) - This value is the first 4
+ bytes from the HASH value that was computed in SKE. In each rekey
+ the value MUST be recomputed as follows:
+
+ HASH = hash(new Sending/Receiving IV from SKE)
+
+ The hash function is the one used in SKE. The 'new Sending/Receiving
+ IV from SKE' is the first 8 bytes of the new value computed during
+ rekey. The first 4 bytes are used from the recomputed HASH.
+
o Extend the Channel ID port to be actually a counter, allowing the
2^32 channels per cell, instead of 2^16 like now. The port with
compliant implementation would always be 706, and it could be used
specs. Connection would be created with nick strings (which are of
format nick@server).
+ o NAT detection protocool during SKE so that party behind NAT can
+ detect if it is behind NAT and receive the public IP address and port
+ that it may need (servers need it to create valid Server ID). (***DONE)
+
o Counter block send/receive IV 64 bits instead of 32 bits, and the
value itself is used as 64-bit MSB ordered counter, which must
be reset before the packet sequence counter wraps. It's basically