Added authentication.  receiving thread sends send thread an unencrypted message. the send thread encrypts it and sends it back. the receive thread decrypts it and compares it to the original message.  these will only match if peer clients share the same initial ctx state.