Fix key exchange
Fixed the KeyExchange. There were multiple issues:
- The
KeyExchangeBasecontained multiple errors calculating the challenges and keys, as well as sending them. - The
KeyExchangeBase.GetSecureKey()did not transform the key correctly - The
Message.EncryptionOffsetwas incorrectly initialized