Encrypts a message for the channel at the given sequence number.
The application is responsible for managing sequence counters
(immutable design — React-friendly). Each call generates a fresh
random IV, so encrypting the same plaintext with the same seq
produces different ciphertexts. However, re-encrypting with a
seq already used for this channel will fail on decrypt (replay)
while the sequence stays inside the receiver's replay window.
Encrypts a message for the channel at the given sequence number.
The application is responsible for managing sequence counters (immutable design — React-friendly). Each call generates a fresh random IV, so encrypting the same plaintext with the same seq produces different ciphertexts. However, re-encrypting with a seq already used for this channel will fail on decrypt (replay) while the sequence stays inside the receiver's replay window.