aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2013-10-30 09:12:56 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2013-10-30 09:12:56 -0500
commit9b457dea21096ac3f170c6c49e5acda2ccbf8293 (patch)
tree87531d29b57917acb4df60190e9634cb0aaa80f1 /tests/hazmat
parent2b758679b3cc2ba936734b34e0865905b4340c5a (diff)
downloadcryptography-9b457dea21096ac3f170c6c49e5acda2ccbf8293.tar.gz
cryptography-9b457dea21096ac3f170c6c49e5acda2ccbf8293.tar.bz2
cryptography-9b457dea21096ac3f170c6c49e5acda2ccbf8293.zip
move around the tests to organize by cipher
Diffstat (limited to 'tests/hazmat')
-rw-r--r--tests/hazmat/primitives/test_3des.py116
-rw-r--r--tests/hazmat/primitives/test_aes.py (renamed from tests/hazmat/primitives/test_nist.py)100
-rw-r--r--tests/hazmat/primitives/test_camellia.py (renamed from tests/hazmat/primitives/test_openssl_vectors.py)39
-rw-r--r--tests/hazmat/primitives/test_cryptrec.py44
4 files changed, 151 insertions, 148 deletions
diff --git a/tests/hazmat/primitives/test_3des.py b/tests/hazmat/primitives/test_3des.py
new file mode 100644
index 00000000..d5188ff6
--- /dev/null
+++ b/tests/hazmat/primitives/test_3des.py
@@ -0,0 +1,116 @@
+# 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.
+
+"""
+Test using the NIST Test Vectors
+"""
+
+from __future__ import absolute_import, division, print_function
+
+import binascii
+import os
+
+from cryptography.hazmat.primitives.block import ciphers, modes
+
+from .utils import generate_encrypt_test
+from ...utils import load_nist_vectors_from_file
+
+
+class TestTripleDES_CBC(object):
+ test_KAT = generate_encrypt_test(
+ lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
+ os.path.join("ciphers", "3DES", "KAT"),
+ [
+ "TCBCinvperm.rsp",
+ "TCBCpermop.rsp",
+ "TCBCsubtab.rsp",
+ "TCBCvarkey.rsp",
+ "TCBCvartext.rsp",
+ ],
+ lambda keys, iv: ciphers.TripleDES(binascii.unhexlify(keys)),
+ lambda keys, iv: modes.CBC(binascii.unhexlify(iv)),
+ )
+
+ test_MMT = generate_encrypt_test(
+ lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
+ os.path.join("ciphers", "3DES", "MMT"),
+ [
+ "TCBCMMT1.rsp",
+ "TCBCMMT2.rsp",
+ "TCBCMMT3.rsp",
+ ],
+ lambda key1, key2, key3, iv: (
+ ciphers.TripleDES(binascii.unhexlify(key1 + key2 + key3))
+ ),
+ lambda key1, key2, key3, iv: modes.CBC(binascii.unhexlify(iv)),
+ )
+
+
+class TestTripleDES_OFB(object):
+ test_KAT = generate_encrypt_test(
+ lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
+ os.path.join("ciphers", "3DES", "KAT"),
+ [
+ "TOFBpermop.rsp",
+ "TOFBsubtab.rsp",
+ "TOFBvarkey.rsp",
+ "TOFBvartext.rsp",
+ "TOFBinvperm.rsp",
+ ],
+ lambda keys, iv: ciphers.TripleDES(binascii.unhexlify(keys)),
+ lambda keys, iv: modes.OFB(binascii.unhexlify(iv)),
+ )
+
+ test_MMT = generate_encrypt_test(
+ lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
+ os.path.join("ciphers", "3DES", "MMT"),
+ [
+ "TOFBMMT1.rsp",
+ "TOFBMMT2.rsp",
+ "TOFBMMT3.rsp",
+ ],
+ lambda key1, key2, key3, iv: (
+ ciphers.TripleDES(binascii.unhexlify(key1 + key2 + key3))
+ ),
+ lambda key1, key2, key3, iv: modes.OFB(binascii.unhexlify(iv)),
+ )
+
+
+class TestTripleDES_CFB(object):
+ test_KAT = generate_encrypt_test(
+ lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
+ os.path.join("ciphers", "3DES", "KAT"),
+ [
+ "TCFB64invperm.rsp",
+ "TCFB64permop.rsp",
+ "TCFB64subtab.rsp",
+ "TCFB64varkey.rsp",
+ "TCFB64vartext.rsp",
+ ],
+ lambda keys, iv: ciphers.TripleDES(binascii.unhexlify(keys)),
+ lambda keys, iv: modes.CFB(binascii.unhexlify(iv)),
+ )
+
+ test_MMT = generate_encrypt_test(
+ lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
+ os.path.join("ciphers", "3DES", "MMT"),
+ [
+ "TCFB64MMT1.rsp",
+ "TCFB64MMT2.rsp",
+ "TCFB64MMT3.rsp",
+ ],
+ lambda key1, key2, key3, iv: (
+ ciphers.TripleDES(binascii.unhexlify(key1 + key2 + key3))
+ ),
+ lambda key1, key2, key3, iv: modes.CFB(binascii.unhexlify(iv)),
+ )
diff --git a/tests/hazmat/primitives/test_nist.py b/tests/hazmat/primitives/test_aes.py
index b8b7e9f2..e853a0b8 100644
--- a/tests/hazmat/primitives/test_nist.py
+++ b/tests/hazmat/primitives/test_aes.py
@@ -23,7 +23,9 @@ import os
from cryptography.hazmat.primitives.block import ciphers, modes
from .utils import generate_encrypt_test
-from ...utils import load_nist_vectors_from_file
+from ...utils import (
+ load_nist_vectors_from_file, load_openssl_vectors_from_file
+)
class TestAES_CBC(object):
@@ -166,91 +168,15 @@ class TestAES_CFB(object):
)
-class TestTripleDES_CBC(object):
- test_KAT = generate_encrypt_test(
- lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
- os.path.join("ciphers", "3DES", "KAT"),
- [
- "TCBCinvperm.rsp",
- "TCBCpermop.rsp",
- "TCBCsubtab.rsp",
- "TCBCvarkey.rsp",
- "TCBCvartext.rsp",
- ],
- lambda keys, iv: ciphers.TripleDES(binascii.unhexlify(keys)),
- lambda keys, iv: modes.CBC(binascii.unhexlify(iv)),
- )
-
- test_MMT = generate_encrypt_test(
- lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
- os.path.join("ciphers", "3DES", "MMT"),
- [
- "TCBCMMT1.rsp",
- "TCBCMMT2.rsp",
- "TCBCMMT3.rsp",
- ],
- lambda key1, key2, key3, iv: (
- ciphers.TripleDES(binascii.unhexlify(key1 + key2 + key3))
- ),
- lambda key1, key2, key3, iv: modes.CBC(binascii.unhexlify(iv)),
- )
-
-
-class TestTripleDES_OFB(object):
- test_KAT = generate_encrypt_test(
- lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
- os.path.join("ciphers", "3DES", "KAT"),
- [
- "TOFBpermop.rsp",
- "TOFBsubtab.rsp",
- "TOFBvarkey.rsp",
- "TOFBvartext.rsp",
- "TOFBinvperm.rsp",
- ],
- lambda keys, iv: ciphers.TripleDES(binascii.unhexlify(keys)),
- lambda keys, iv: modes.OFB(binascii.unhexlify(iv)),
- )
-
- test_MMT = generate_encrypt_test(
- lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
- os.path.join("ciphers", "3DES", "MMT"),
- [
- "TOFBMMT1.rsp",
- "TOFBMMT2.rsp",
- "TOFBMMT3.rsp",
- ],
- lambda key1, key2, key3, iv: (
- ciphers.TripleDES(binascii.unhexlify(key1 + key2 + key3))
- ),
- lambda key1, key2, key3, iv: modes.OFB(binascii.unhexlify(iv)),
- )
-
-
-class TestTripleDES_CFB(object):
- test_KAT = generate_encrypt_test(
- lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
- os.path.join("ciphers", "3DES", "KAT"),
- [
- "TCFB64invperm.rsp",
- "TCFB64permop.rsp",
- "TCFB64subtab.rsp",
- "TCFB64varkey.rsp",
- "TCFB64vartext.rsp",
- ],
- lambda keys, iv: ciphers.TripleDES(binascii.unhexlify(keys)),
- lambda keys, iv: modes.CFB(binascii.unhexlify(iv)),
- )
-
- test_MMT = generate_encrypt_test(
- lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
- os.path.join("ciphers", "3DES", "MMT"),
- [
- "TCFB64MMT1.rsp",
- "TCFB64MMT2.rsp",
- "TCFB64MMT3.rsp",
- ],
- lambda key1, key2, key3, iv: (
- ciphers.TripleDES(binascii.unhexlify(key1 + key2 + key3))
+class TestAES_CTR(object):
+ test_OpenSSL = generate_encrypt_test(
+ load_openssl_vectors_from_file,
+ os.path.join("ciphers", "AES", "CTR"),
+ ["aes-128-ctr.txt", "aes-192-ctr.txt", "aes-256-ctr.txt"],
+ lambda key, iv: ciphers.AES(binascii.unhexlify(key)),
+ lambda key, iv: modes.CTR(binascii.unhexlify(iv)),
+ only_if=lambda backend: backend.ciphers.supported(
+ ciphers.AES("\x00" * 16), modes.CTR("\x00" * 16)
),
- lambda key1, key2, key3, iv: modes.CFB(binascii.unhexlify(iv)),
+ skip_message="Does not support AES CTR",
)
diff --git a/tests/hazmat/primitives/test_openssl_vectors.py b/tests/hazmat/primitives/test_camellia.py
index 2a3e44f3..ab321a42 100644
--- a/tests/hazmat/primitives/test_openssl_vectors.py
+++ b/tests/hazmat/primitives/test_camellia.py
@@ -12,19 +12,38 @@
# limitations under the License.
"""
-Test using the OpenSSL Test Vectors
+Tests using the CRYPTREC (Camellia) Test Vectors
"""
from __future__ import absolute_import, division, print_function
import binascii
-
import os
from cryptography.hazmat.primitives.block import ciphers, modes
from .utils import generate_encrypt_test
-from ...utils import load_openssl_vectors_from_file
+from ...utils import (
+ load_cryptrec_vectors_from_file, load_openssl_vectors_from_file
+)
+
+
+class TestCamelliaECB(object):
+ test_NTT = generate_encrypt_test(
+ load_cryptrec_vectors_from_file,
+ os.path.join("ciphers", "Camellia"),
+ [
+ "camellia-128-ecb.txt",
+ "camellia-192-ecb.txt",
+ "camellia-256-ecb.txt"
+ ],
+ lambda key: ciphers.Camellia(binascii.unhexlify((key))),
+ lambda key: modes.ECB(),
+ only_if=lambda backend: backend.ciphers.supported(
+ ciphers.Camellia("\x00" * 16), modes.ECB()
+ ),
+ skip_message="Does not support Camellia ECB",
+ )
class TestCamelliaCBC(object):
@@ -67,17 +86,3 @@ class TestCamelliaCFB(object):
),
skip_message="Does not support Camellia CFB",
)
-
-
-class TestAESCTR(object):
- test_OpenSSL = generate_encrypt_test(
- load_openssl_vectors_from_file,
- os.path.join("ciphers", "AES", "CTR"),
- ["aes-128-ctr.txt", "aes-192-ctr.txt", "aes-256-ctr.txt"],
- lambda key, iv: ciphers.AES(binascii.unhexlify(key)),
- lambda key, iv: modes.CTR(binascii.unhexlify(iv)),
- only_if=lambda backend: backend.ciphers.supported(
- ciphers.AES("\x00" * 16), modes.CTR("\x00" * 16)
- ),
- skip_message="Does not support AES CTR",
- )
diff --git a/tests/hazmat/primitives/test_cryptrec.py b/tests/hazmat/primitives/test_cryptrec.py
deleted file mode 100644
index c882e475..00000000
--- a/tests/hazmat/primitives/test_cryptrec.py
+++ /dev/null
@@ -1,44 +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.
-
-"""
-Tests using the CRYPTREC (Camellia) Test Vectors
-"""
-
-from __future__ import absolute_import, division, print_function
-
-import binascii
-import os
-
-from cryptography.hazmat.primitives.block import ciphers, modes
-
-from .utils import generate_encrypt_test
-from ...utils import load_cryptrec_vectors_from_file
-
-
-class TestCamelliaECB(object):
- test_NTT = generate_encrypt_test(
- load_cryptrec_vectors_from_file,
- os.path.join("ciphers", "Camellia"),
- [
- "camellia-128-ecb.txt",
- "camellia-192-ecb.txt",
- "camellia-256-ecb.txt"
- ],
- lambda key: ciphers.Camellia(binascii.unhexlify((key))),
- lambda key: modes.ECB(),
- only_if=lambda backend: backend.ciphers.supported(
- ciphers.Camellia("\x00" * 16), modes.ECB()
- ),
- skip_message="Does not support Camellia ECB",
- )