mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 21:37:35 +00:00
LibCrypto: Reduce use of ByteBuffer in AES code
Use Bytes/ReadonlyBytes more where possible.
This commit is contained in:
parent
e6f907a155
commit
52b05a08c7
6 changed files with 31 additions and 35 deletions
|
@ -78,7 +78,7 @@ public:
|
|||
m_cipher_block.apply_initialization_vector(iv);
|
||||
cipher.encrypt_block(m_cipher_block, m_cipher_block);
|
||||
ASSERT(offset + block_size <= out.size());
|
||||
__builtin_memcpy(out.offset(offset), m_cipher_block.get().data(), block_size);
|
||||
__builtin_memcpy(out.offset(offset), m_cipher_block.bytes().data(), block_size);
|
||||
iv = out.offset(offset);
|
||||
length -= block_size;
|
||||
offset += block_size;
|
||||
|
@ -89,7 +89,7 @@ public:
|
|||
m_cipher_block.apply_initialization_vector(iv);
|
||||
cipher.encrypt_block(m_cipher_block, m_cipher_block);
|
||||
ASSERT(offset + block_size <= out.size());
|
||||
__builtin_memcpy(out.offset(offset), m_cipher_block.get().data(), block_size);
|
||||
__builtin_memcpy(out.offset(offset), m_cipher_block.bytes().data(), block_size);
|
||||
iv = out.offset(offset);
|
||||
}
|
||||
|
||||
|
@ -122,7 +122,7 @@ public:
|
|||
m_cipher_block.overwrite(slice, block_size);
|
||||
cipher.decrypt_block(m_cipher_block, m_cipher_block);
|
||||
m_cipher_block.apply_initialization_vector(iv);
|
||||
auto decrypted = m_cipher_block.get();
|
||||
auto decrypted = m_cipher_block.bytes();
|
||||
ASSERT(offset + decrypted.size() <= out.size());
|
||||
__builtin_memcpy(out.offset(offset), decrypted.data(), decrypted.size());
|
||||
iv = slice;
|
||||
|
|
|
@ -193,7 +193,7 @@ protected:
|
|||
auto write_size = min(block_size, length);
|
||||
|
||||
ASSERT(offset + write_size <= out.size());
|
||||
__builtin_memcpy(out.offset(offset), m_cipher_block.get().data(), write_size);
|
||||
__builtin_memcpy(out.offset(offset), m_cipher_block.bytes().data(), write_size);
|
||||
|
||||
increment(iv);
|
||||
length -= write_size;
|
||||
|
|
|
@ -105,7 +105,7 @@ public:
|
|||
|
||||
auto auth_tag = m_ghash->process(aad, out);
|
||||
block0.apply_initialization_vector(auth_tag.data);
|
||||
block0.get().bytes().copy_to(tag);
|
||||
block0.bytes().copy_to(tag);
|
||||
}
|
||||
|
||||
VerificationConsistency decrypt(ReadonlyBytes in, Bytes out, ReadonlyBytes iv_in, ReadonlyBytes aad, ReadonlyBytes tag)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue