Unaligned block encryption test
This test verifies that the underlying buffer is being sized correctly
by passing data into the encryption function without aligning it to the
block size of the cipher. This ensures that we will get a larger return
value than the initial argument from our second encrypt call.
diff --git a/tests/primitives/test_block.py b/tests/primitives/test_block.py
index f4d3f46..9f5905b 100644
--- a/tests/primitives/test_block.py
+++ b/tests/primitives/test_block.py
@@ -63,3 +63,14 @@
with pytest.raises(ValueError):
cipher.finalize()
+
+ def test_unaligned_block_encryption(self, api):
+ cipher = BlockCipher(
+ ciphers.AES(binascii.unhexlify(b"0" * 32)),
+ modes.ECB(),
+ api
+ )
+ ct = cipher.encrypt(b"a" * 15)
+ assert ct == b""
+ ct += cipher.encrypt(b"a" * 65)
+ assert len(ct) == 80