A flat encoding: ephemeralPublicKey(32) ‖ nonce(12) ‖ ciphertext.
ephemeralPublicKey(32) ‖ nonce(12) ‖ ciphertext
List<int> toBytes() => [...ephemeralPublicKey, ...nonce, ...ciphertext];