diff options
Diffstat (limited to 'tests/primitives/test_block.py')
-rw-r--r-- | tests/primitives/test_block.py | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/tests/primitives/test_block.py b/tests/primitives/test_block.py deleted file mode 100644 index 3b3b1f91..00000000 --- a/tests/primitives/test_block.py +++ /dev/null @@ -1,86 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import absolute_import, division, print_function - -import binascii - -import pytest - -from cryptography.primitives import interfaces -from cryptography.primitives.block import BlockCipher, ciphers, modes - - -class TestBlockCipher(object): - def test_instantiate_without_backend(self): - BlockCipher( - ciphers.AES(binascii.unhexlify(b"0" * 32)), - modes.CBC(binascii.unhexlify(b"0" * 32)) - ) - - def test_creates_encryptor(self): - cipher = BlockCipher( - ciphers.AES(binascii.unhexlify(b"0" * 32)), - modes.CBC(binascii.unhexlify(b"0" * 32)) - ) - assert isinstance(cipher.encryptor(), interfaces.CipherContext) - - def test_creates_decryptor(self): - cipher = BlockCipher( - ciphers.AES(binascii.unhexlify(b"0" * 32)), - modes.CBC(binascii.unhexlify(b"0" * 32)) - ) - assert isinstance(cipher.decryptor(), interfaces.CipherContext) - - -class TestBlockCipherContext(object): - def test_use_after_finalize(self, backend): - cipher = BlockCipher( - ciphers.AES(binascii.unhexlify(b"0" * 32)), - modes.CBC(binascii.unhexlify(b"0" * 32)), - backend - ) - encryptor = cipher.encryptor() - encryptor.update(b"a" * 16) - encryptor.finalize() - with pytest.raises(ValueError): - encryptor.update(b"b" * 16) - with pytest.raises(ValueError): - encryptor.finalize() - decryptor = cipher.decryptor() - decryptor.update(b"a" * 16) - decryptor.finalize() - with pytest.raises(ValueError): - decryptor.update(b"b" * 16) - with pytest.raises(ValueError): - decryptor.finalize() - - def test_unaligned_block_encryption(self, backend): - cipher = BlockCipher( - ciphers.AES(binascii.unhexlify(b"0" * 32)), - modes.ECB(), - backend - ) - encryptor = cipher.encryptor() - ct = encryptor.update(b"a" * 15) - assert ct == b"" - ct += encryptor.update(b"a" * 65) - assert len(ct) == 80 - ct += encryptor.finalize() - decryptor = cipher.decryptor() - pt = decryptor.update(ct[:3]) - assert pt == b"" - pt += decryptor.update(ct[3:]) - assert len(pt) == 80 - assert pt == b"a" * 80 - decryptor.finalize() |