From 192cd67deb0154cf26e383927acff12916d26b7a Mon Sep 17 00:00:00 2001 From: hashlag Date: Thu, 30 Jul 2026 01:17:47 +0300 Subject: [PATCH] EcbMode: Optimize data management on decryption hotpath. --- Chaos/Cipher/Block/Mode/Ecb.hpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/Chaos/Cipher/Block/Mode/Ecb.hpp b/Chaos/Cipher/Block/Mode/Ecb.hpp index 1160cd5..c2e51ca 100644 --- a/Chaos/Cipher/Block/Mode/Ecb.hpp +++ b/Chaos/Cipher/Block/Mode/Ecb.hpp @@ -172,8 +172,6 @@ public: uint64_t BlockBytesPacked_; BlockArray Block_; - BlockArray DecryptedBlock_; - bool PreviousBlockSaved_; BlockArray PreviousBlock_; @@ -213,22 +211,17 @@ public: { BlockBytesPacked_ = 0; - Decryptor_.DecryptBlock(DecryptedBlock_.Begin(), DecryptedBlock_.End(), - Block_.Begin(), Block_.End()); - if (PreviousBlockSaved_) { out = EnsureCopy(out, outEnd, PreviousBlock_.Begin(), PreviousBlock_.End()); - PreviousBlock_ = DecryptedBlock_; written += CipherT::BlockSize; } - else - { - PreviousBlock_ = DecryptedBlock_; - PreviousBlockSaved_ = true; - } + + Decryptor_.DecryptBlock(PreviousBlock_.Begin(), PreviousBlock_.End(), + Block_.Begin(), Block_.End()); + PreviousBlockSaved_ = true; } }