From 7f61e7a231d7d5bd6e34a4584b7764bb036c84cc Mon Sep 17 00:00:00 2001 From: Jakub Trnka Date: Mon, 22 Jan 2024 18:06:54 +0100 Subject: [PATCH] Fix incorrect order of encrypt/decrypt and nonce incremental --- protocols/v2/noise-sv2/src/cipher_state.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/protocols/v2/noise-sv2/src/cipher_state.rs b/protocols/v2/noise-sv2/src/cipher_state.rs index 060f9b9a4..b76f247c1 100644 --- a/protocols/v2/noise-sv2/src/cipher_state.rs +++ b/protocols/v2/noise-sv2/src/cipher_state.rs @@ -42,8 +42,8 @@ where ad: &[u8], data: &mut T, ) -> Result<(), aes_gcm::Error> { - self.set_n(self.get_n() + 1); let n = self.nonce_to_bytes(); + self.set_n(self.get_n() + 1); if let Some(c) = self.get_cipher() { match c.encrypt(&n, ad, data) { Ok(_) => Ok(()), @@ -63,8 +63,8 @@ where ad: &[u8], data: &mut T, ) -> Result<(), aes_gcm::Error> { - self.set_n(self.get_n() + 1); let n = self.nonce_to_bytes(); + self.set_n(self.get_n() + 1); if let Some(c) = self.get_cipher() { match c.decrypt(&n, ad, data) { Ok(_) => Ok(()),