Refactor the ciphertext message parsing and building.
Add HKDF support for new sessions.