aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-09-11 19:52:19 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-09-11 19:52:19 -0500
commitc48abb09571f7ade75612c8f254ca76df41ac80d (patch)
tree54f10fc2033a14ea63f0aba3a60135d0b634af9b /tests
parented54991dc764cb5374cc33e7b98c7284b75d4651 (diff)
downloadcryptography-c48abb09571f7ade75612c8f254ca76df41ac80d.tar.gz
cryptography-c48abb09571f7ade75612c8f254ca76df41ac80d.tar.bz2
cryptography-c48abb09571f7ade75612c8f254ca76df41ac80d.zip
moved GCM tests to be run against all backends, added radar bug numbers
Diffstat (limited to 'tests')
-rw-r--r--tests/hazmat/backends/test_commoncrypto.py31
-rw-r--r--tests/hazmat/primitives/test_aes.py35
2 files changed, 34 insertions, 32 deletions
diff --git a/tests/hazmat/backends/test_commoncrypto.py b/tests/hazmat/backends/test_commoncrypto.py
index 5f2e9aab..28d1a6ca 100644
--- a/tests/hazmat/backends/test_commoncrypto.py
+++ b/tests/hazmat/backends/test_commoncrypto.py
@@ -13,8 +13,6 @@
from __future__ import absolute_import, division, print_function
-import binascii
-
import pytest
from cryptography import utils
@@ -70,32 +68,3 @@ class TestCommonCrypto(object):
)
with raises_unsupported_algorithm(_Reasons.UNSUPPORTED_CIPHER):
cipher.encryptor()
-
- def test_gcm_tag_with_only_aad(self):
- from cryptography.hazmat.backends.commoncrypto.backend import Backend
- b = Backend()
- key = binascii.unhexlify(b"1dde380d6b04fdcb004005b8a77bd5e3")
- iv = binascii.unhexlify(b"5053bf901463f97decd88c33")
- aad = binascii.unhexlify(b"f807f5f6133021d15cb6434d5ad95cf7d8488727")
- tag = binascii.unhexlify(b"4bebf3ff2cb67bb5444dda53bd039e22")
-
- cipher = Cipher(AES(key), GCM(iv), backend=b)
- encryptor = cipher.encryptor()
- encryptor.authenticate_additional_data(aad)
- encryptor.finalize()
- assert encryptor.tag == tag
-
- def test_gcm_ciphertext_with_no_aad(self):
- from cryptography.hazmat.backends.commoncrypto.backend import Backend
- b = Backend()
- key = binascii.unhexlify(b"e98b72a9881a84ca6b76e0f43e68647a")
- iv = binascii.unhexlify(b"8b23299fde174053f3d652ba")
- ct = binascii.unhexlify(b"5a3c1cf1985dbb8bed818036fdd5ab42")
- tag = binascii.unhexlify(b"23c7ab0f952b7091cd324835043b5eb5")
- pt = binascii.unhexlify(b"28286a321293253c3e0aa2704a278032")
-
- cipher = Cipher(AES(key), GCM(iv), backend=b)
- encryptor = cipher.encryptor()
- computed_ct = encryptor.update(pt) + encryptor.finalize()
- assert computed_ct == ct
- assert encryptor.tag == tag
diff --git a/tests/hazmat/primitives/test_aes.py b/tests/hazmat/primitives/test_aes.py
index 5bde7d3c..13682753 100644
--- a/tests/hazmat/primitives/test_aes.py
+++ b/tests/hazmat/primitives/test_aes.py
@@ -18,7 +18,7 @@ import os
import pytest
-from cryptography.hazmat.primitives.ciphers import algorithms, modes
+from cryptography.hazmat.primitives.ciphers import algorithms, base, modes
from .utils import generate_aead_test, generate_encrypt_test
from ...utils import load_nist_vectors
@@ -228,3 +228,36 @@ class TestAESModeGCM(object):
algorithms.AES,
modes.GCM,
)
+
+ def test_gcm_tag_with_only_aad(self, backend):
+ key = binascii.unhexlify(b"1dde380d6b04fdcb004005b8a77bd5e3")
+ iv = binascii.unhexlify(b"5053bf901463f97decd88c33")
+ aad = binascii.unhexlify(b"f807f5f6133021d15cb6434d5ad95cf7d8488727")
+ tag = binascii.unhexlify(b"4bebf3ff2cb67bb5444dda53bd039e22")
+
+ cipher = base.Cipher(
+ algorithms.AES(key),
+ modes.GCM(iv),
+ backend=backend
+ )
+ encryptor = cipher.encryptor()
+ encryptor.authenticate_additional_data(aad)
+ encryptor.finalize()
+ assert encryptor.tag == tag
+
+ def test_gcm_ciphertext_with_no_aad(self, backend):
+ key = binascii.unhexlify(b"e98b72a9881a84ca6b76e0f43e68647a")
+ iv = binascii.unhexlify(b"8b23299fde174053f3d652ba")
+ ct = binascii.unhexlify(b"5a3c1cf1985dbb8bed818036fdd5ab42")
+ tag = binascii.unhexlify(b"23c7ab0f952b7091cd324835043b5eb5")
+ pt = binascii.unhexlify(b"28286a321293253c3e0aa2704a278032")
+
+ cipher = base.Cipher(
+ algorithms.AES(key),
+ modes.GCM(iv),
+ backend=backend
+ )
+ encryptor = cipher.encryptor()
+ computed_ct = encryptor.update(pt) + encryptor.finalize()
+ assert computed_ct == ct
+ assert encryptor.tag == tag