Merge pull request #198 from reaperhulk/vector-movin

Restructure vectors into ciphers/hashes/hmac
diff --git a/tests/hazmat/primitives/test_3des.py b/tests/hazmat/primitives/test_3des.py
new file mode 100644
index 0000000..6b3e041
--- /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", "CBC"),
+        [
+            "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", "CBC"),
+        [
+            "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", "OFB"),
+        [
+            "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", "OFB"),
+        [
+            "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", "CFB"),
+        [
+            "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", "CFB"),
+        [
+            "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_aes.py b/tests/hazmat/primitives/test_aes.py
new file mode 100644
index 0000000..0caac3b
--- /dev/null
+++ b/tests/hazmat/primitives/test_aes.py
@@ -0,0 +1,146 @@
+# 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, load_openssl_vectors_from_file
+)
+
+
+class TestAES_CBC(object):
+    test_CBC = generate_encrypt_test(
+        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
+        os.path.join("ciphers", "AES", "CBC"),
+        [
+            "CBCGFSbox128.rsp",
+            "CBCGFSbox192.rsp",
+            "CBCGFSbox256.rsp",
+            "CBCKeySbox128.rsp",
+            "CBCKeySbox192.rsp",
+            "CBCKeySbox256.rsp",
+            "CBCVarKey128.rsp",
+            "CBCVarKey192.rsp",
+            "CBCVarKey256.rsp",
+            "CBCVarTxt128.rsp",
+            "CBCVarTxt192.rsp",
+            "CBCVarTxt256.rsp",
+            "CBCMMT128.rsp",
+            "CBCMMT192.rsp",
+            "CBCMMT256.rsp",
+        ],
+        lambda key, iv: ciphers.AES(binascii.unhexlify(key)),
+        lambda key, iv: modes.CBC(binascii.unhexlify(iv)),
+    )
+
+
+class TestAES_ECB(object):
+    test_ECB = generate_encrypt_test(
+        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
+        os.path.join("ciphers", "AES", "ECB"),
+        [
+            "ECBGFSbox128.rsp",
+            "ECBGFSbox192.rsp",
+            "ECBGFSbox256.rsp",
+            "ECBKeySbox128.rsp",
+            "ECBKeySbox192.rsp",
+            "ECBKeySbox256.rsp",
+            "ECBVarKey128.rsp",
+            "ECBVarKey192.rsp",
+            "ECBVarKey256.rsp",
+            "ECBVarTxt128.rsp",
+            "ECBVarTxt192.rsp",
+            "ECBVarTxt256.rsp",
+            "ECBMMT128.rsp",
+            "ECBMMT192.rsp",
+            "ECBMMT256.rsp",
+        ],
+        lambda key: ciphers.AES(binascii.unhexlify(key)),
+        lambda key: modes.ECB(),
+    )
+
+
+class TestAES_OFB(object):
+    test_OFB = generate_encrypt_test(
+        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
+        os.path.join("ciphers", "AES", "OFB"),
+        [
+            "OFBGFSbox128.rsp",
+            "OFBGFSbox192.rsp",
+            "OFBGFSbox256.rsp",
+            "OFBKeySbox128.rsp",
+            "OFBKeySbox192.rsp",
+            "OFBKeySbox256.rsp",
+            "OFBVarKey128.rsp",
+            "OFBVarKey192.rsp",
+            "OFBVarKey256.rsp",
+            "OFBVarTxt128.rsp",
+            "OFBVarTxt192.rsp",
+            "OFBVarTxt256.rsp",
+            "OFBMMT128.rsp",
+            "OFBMMT192.rsp",
+            "OFBMMT256.rsp",
+        ],
+        lambda key, iv: ciphers.AES(binascii.unhexlify(key)),
+        lambda key, iv: modes.OFB(binascii.unhexlify(iv)),
+    )
+
+
+class TestAES_CFB(object):
+    test_CFB = generate_encrypt_test(
+        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
+        os.path.join("ciphers", "AES", "CFB"),
+        [
+            "CFB128GFSbox128.rsp",
+            "CFB128GFSbox192.rsp",
+            "CFB128GFSbox256.rsp",
+            "CFB128KeySbox128.rsp",
+            "CFB128KeySbox192.rsp",
+            "CFB128KeySbox256.rsp",
+            "CFB128VarKey128.rsp",
+            "CFB128VarKey192.rsp",
+            "CFB128VarKey256.rsp",
+            "CFB128VarTxt128.rsp",
+            "CFB128VarTxt192.rsp",
+            "CFB128VarTxt256.rsp",
+            "CFB128MMT128.rsp",
+            "CFB128MMT192.rsp",
+            "CFB128MMT256.rsp",
+        ],
+        lambda key, iv: ciphers.AES(binascii.unhexlify(key)),
+        lambda key, iv: modes.CFB(binascii.unhexlify(iv)),
+    )
+
+
+class TestAES_CTR(object):
+    test_CTR = 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_openssl_vectors.py b/tests/hazmat/primitives/test_camellia.py
similarity index 70%
rename from tests/hazmat/primitives/test_openssl_vectors.py
rename to tests/hazmat/primitives/test_camellia.py
index 9403724..46e724b 100644
--- a/tests/hazmat/primitives/test_openssl_vectors.py
+++ b/tests/hazmat/primitives/test_camellia.py
@@ -12,23 +12,44 @@
 # 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_ECB = 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):
-    test_OpenSSL = generate_encrypt_test(
+    test_CBC = generate_encrypt_test(
         load_openssl_vectors_from_file,
-        "Camellia",
+        os.path.join("ciphers", "Camellia"),
         ["camellia-cbc.txt"],
         lambda key, iv: ciphers.Camellia(binascii.unhexlify(key)),
         lambda key, iv: modes.CBC(binascii.unhexlify(iv)),
@@ -40,9 +61,9 @@
 
 
 class TestCamelliaOFB(object):
-    test_OpenSSL = generate_encrypt_test(
+    test_OFB = generate_encrypt_test(
         load_openssl_vectors_from_file,
-        "Camellia",
+        os.path.join("ciphers", "Camellia"),
         ["camellia-ofb.txt"],
         lambda key, iv: ciphers.Camellia(binascii.unhexlify(key)),
         lambda key, iv: modes.OFB(binascii.unhexlify(iv)),
@@ -54,9 +75,9 @@
 
 
 class TestCamelliaCFB(object):
-    test_OpenSSL = generate_encrypt_test(
+    test_CFB = generate_encrypt_test(
         load_openssl_vectors_from_file,
-        "Camellia",
+        os.path.join("ciphers", "Camellia"),
         ["camellia-cfb.txt"],
         lambda key, iv: ciphers.Camellia(binascii.unhexlify(key)),
         lambda key, iv: modes.CFB(binascii.unhexlify(iv)),
@@ -65,17 +86,3 @@
         ),
         skip_message="Does not support Camellia CFB",
     )
-
-
-class TestAESCTR(object):
-    test_OpenSSL = generate_encrypt_test(
-        load_openssl_vectors_from_file,
-        "AES",
-        ["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 48f64a2..0000000
--- 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("Camellia", "NTT"),
-        [
-            "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",
-    )
diff --git a/tests/hazmat/primitives/test_hash_vectors.py b/tests/hazmat/primitives/test_hash_vectors.py
index ebb2435..5c3e72d 100644
--- a/tests/hazmat/primitives/test_hash_vectors.py
+++ b/tests/hazmat/primitives/test_hash_vectors.py
@@ -24,7 +24,7 @@
 class TestSHA1(object):
     test_SHA1 = generate_hash_test(
         load_hash_vectors_from_file,
-        os.path.join("NIST", "SHABYTE"),
+        os.path.join("hashes", "SHA1"),
         [
             "SHA1LongMsg.rsp",
             "SHA1ShortMsg.rsp",
@@ -38,7 +38,7 @@
 class TestSHA224(object):
     test_SHA224 = generate_hash_test(
         load_hash_vectors_from_file,
-        os.path.join("NIST", "SHABYTE"),
+        os.path.join("hashes", "SHA2"),
         [
             "SHA224LongMsg.rsp",
             "SHA224ShortMsg.rsp",
@@ -52,7 +52,7 @@
 class TestSHA256(object):
     test_SHA256 = generate_hash_test(
         load_hash_vectors_from_file,
-        os.path.join("NIST", "SHABYTE"),
+        os.path.join("hashes", "SHA2"),
         [
             "SHA256LongMsg.rsp",
             "SHA256ShortMsg.rsp",
@@ -66,7 +66,7 @@
 class TestSHA384(object):
     test_SHA384 = generate_hash_test(
         load_hash_vectors_from_file,
-        os.path.join("NIST", "SHABYTE"),
+        os.path.join("hashes", "SHA2"),
         [
             "SHA384LongMsg.rsp",
             "SHA384ShortMsg.rsp",
@@ -80,7 +80,7 @@
 class TestSHA512(object):
     test_SHA512 = generate_hash_test(
         load_hash_vectors_from_file,
-        os.path.join("NIST", "SHABYTE"),
+        os.path.join("hashes", "SHA2"),
         [
             "SHA512LongMsg.rsp",
             "SHA512ShortMsg.rsp",
@@ -94,7 +94,7 @@
 class TestRIPEMD160(object):
     test_RIPEMD160 = generate_hash_test(
         load_hash_vectors_from_file,
-        os.path.join("ISO", "ripemd160"),
+        os.path.join("hashes", "ripemd160"),
         [
             "ripevectors.txt",
         ],
@@ -114,7 +114,7 @@
 class TestWhirlpool(object):
     test_whirlpool = generate_hash_test(
         load_hash_vectors_from_file,
-        os.path.join("ISO", "whirlpool"),
+        os.path.join("hashes", "whirlpool"),
         [
             "iso-test-vectors.txt",
         ],
@@ -136,7 +136,7 @@
 class TestMD5(object):
     test_md5 = generate_hash_test(
         load_hash_vectors_from_file,
-        os.path.join("RFC", "MD5"),
+        os.path.join("hashes", "MD5"),
         [
             "rfc-1321.txt",
         ],
diff --git a/tests/hazmat/primitives/test_hmac_vectors.py b/tests/hazmat/primitives/test_hmac_vectors.py
index 81fe4d3..27b4501 100644
--- a/tests/hazmat/primitives/test_hmac_vectors.py
+++ b/tests/hazmat/primitives/test_hmac_vectors.py
@@ -13,8 +13,6 @@
 
 from __future__ import absolute_import, division, print_function
 
-import os
-
 from cryptography.hazmat.primitives import hashes
 
 from .utils import generate_hmac_test
@@ -24,7 +22,7 @@
 class TestHMAC_MD5(object):
     test_hmac_md5 = generate_hmac_test(
         load_hash_vectors_from_file,
-        os.path.join("RFC", "HMAC"),
+        "HMAC",
         [
             "rfc-2202-md5.txt",
         ],
@@ -37,7 +35,7 @@
 class TestHMAC_SHA1(object):
     test_hmac_sha1 = generate_hmac_test(
         load_hash_vectors_from_file,
-        os.path.join("RFC", "HMAC"),
+        "HMAC",
         [
             "rfc-2202-sha1.txt",
         ],
@@ -50,7 +48,7 @@
 class TestHMAC_SHA224(object):
     test_hmac_sha224 = generate_hmac_test(
         load_hash_vectors_from_file,
-        os.path.join("RFC", "HMAC"),
+        "HMAC",
         [
             "rfc-4231-sha224.txt",
         ],
@@ -63,7 +61,7 @@
 class TestHMAC_SHA256(object):
     test_hmac_sha256 = generate_hmac_test(
         load_hash_vectors_from_file,
-        os.path.join("RFC", "HMAC"),
+        "HMAC",
         [
             "rfc-4231-sha256.txt",
         ],
@@ -76,7 +74,7 @@
 class TestHMAC_SHA384(object):
     test_hmac_sha384 = generate_hmac_test(
         load_hash_vectors_from_file,
-        os.path.join("RFC", "HMAC"),
+        "HMAC",
         [
             "rfc-4231-sha384.txt",
         ],
@@ -89,7 +87,7 @@
 class TestHMAC_SHA512(object):
     test_hmac_sha512 = generate_hmac_test(
         load_hash_vectors_from_file,
-        os.path.join("RFC", "HMAC"),
+        "HMAC",
         [
             "rfc-4231-sha512.txt",
         ],
@@ -102,7 +100,7 @@
 class TestHMAC_RIPEMD160(object):
     test_hmac_ripemd160 = generate_hmac_test(
         load_hash_vectors_from_file,
-        os.path.join("RFC", "HMAC"),
+        "HMAC",
         [
             "rfc-2286-ripemd160.txt",
         ],
diff --git a/tests/hazmat/primitives/test_nist.py b/tests/hazmat/primitives/test_nist.py
deleted file mode 100644
index c15afd5..0000000
--- a/tests/hazmat/primitives/test_nist.py
+++ /dev/null
@@ -1,256 +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.
-
-"""
-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 TestAES_CBC(object):
-    test_KAT = generate_encrypt_test(
-        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
-        os.path.join("AES", "KAT"),
-        [
-            "CBCGFSbox128.rsp",
-            "CBCGFSbox192.rsp",
-            "CBCGFSbox256.rsp",
-            "CBCKeySbox128.rsp",
-            "CBCKeySbox192.rsp",
-            "CBCKeySbox256.rsp",
-            "CBCVarKey128.rsp",
-            "CBCVarKey192.rsp",
-            "CBCVarKey256.rsp",
-            "CBCVarTxt128.rsp",
-            "CBCVarTxt192.rsp",
-            "CBCVarTxt256.rsp",
-        ],
-        lambda key, iv: ciphers.AES(binascii.unhexlify(key)),
-        lambda key, iv: modes.CBC(binascii.unhexlify(iv)),
-    )
-
-    test_MMT = generate_encrypt_test(
-        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
-        os.path.join("AES", "MMT"),
-        [
-            "CBCMMT128.rsp",
-            "CBCMMT192.rsp",
-            "CBCMMT256.rsp",
-        ],
-        lambda key, iv: ciphers.AES(binascii.unhexlify(key)),
-        lambda key, iv: modes.CBC(binascii.unhexlify(iv)),
-    )
-
-
-class TestAES_ECB(object):
-    test_KAT = generate_encrypt_test(
-        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
-        os.path.join("AES", "KAT"),
-        [
-            "ECBGFSbox128.rsp",
-            "ECBGFSbox192.rsp",
-            "ECBGFSbox256.rsp",
-            "ECBKeySbox128.rsp",
-            "ECBKeySbox192.rsp",
-            "ECBKeySbox256.rsp",
-            "ECBVarKey128.rsp",
-            "ECBVarKey192.rsp",
-            "ECBVarKey256.rsp",
-            "ECBVarTxt128.rsp",
-            "ECBVarTxt192.rsp",
-            "ECBVarTxt256.rsp",
-        ],
-        lambda key: ciphers.AES(binascii.unhexlify(key)),
-        lambda key: modes.ECB(),
-    )
-
-    test_MMT = generate_encrypt_test(
-        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
-        os.path.join("AES", "MMT"),
-        [
-            "ECBMMT128.rsp",
-            "ECBMMT192.rsp",
-            "ECBMMT256.rsp",
-        ],
-        lambda key: ciphers.AES(binascii.unhexlify(key)),
-        lambda key: modes.ECB(),
-    )
-
-
-class TestAES_OFB(object):
-    test_KAT = generate_encrypt_test(
-        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
-        os.path.join("AES", "KAT"),
-        [
-            "OFBGFSbox128.rsp",
-            "OFBGFSbox192.rsp",
-            "OFBGFSbox256.rsp",
-            "OFBKeySbox128.rsp",
-            "OFBKeySbox192.rsp",
-            "OFBKeySbox256.rsp",
-            "OFBVarKey128.rsp",
-            "OFBVarKey192.rsp",
-            "OFBVarKey256.rsp",
-            "OFBVarTxt128.rsp",
-            "OFBVarTxt192.rsp",
-            "OFBVarTxt256.rsp",
-        ],
-        lambda key, iv: ciphers.AES(binascii.unhexlify(key)),
-        lambda key, iv: modes.OFB(binascii.unhexlify(iv)),
-    )
-
-    test_MMT = generate_encrypt_test(
-        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
-        os.path.join("AES", "MMT"),
-        [
-            "OFBMMT128.rsp",
-            "OFBMMT192.rsp",
-            "OFBMMT256.rsp",
-        ],
-        lambda key, iv: ciphers.AES(binascii.unhexlify(key)),
-        lambda key, iv: modes.OFB(binascii.unhexlify(iv)),
-    )
-
-
-class TestAES_CFB(object):
-    test_KAT = generate_encrypt_test(
-        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
-        os.path.join("AES", "KAT"),
-        [
-            "CFB128GFSbox128.rsp",
-            "CFB128GFSbox192.rsp",
-            "CFB128GFSbox256.rsp",
-            "CFB128KeySbox128.rsp",
-            "CFB128KeySbox192.rsp",
-            "CFB128KeySbox256.rsp",
-            "CFB128VarKey128.rsp",
-            "CFB128VarKey192.rsp",
-            "CFB128VarKey256.rsp",
-            "CFB128VarTxt128.rsp",
-            "CFB128VarTxt192.rsp",
-            "CFB128VarTxt256.rsp",
-        ],
-        lambda key, iv: ciphers.AES(binascii.unhexlify(key)),
-        lambda key, iv: modes.CFB(binascii.unhexlify(iv)),
-    )
-
-    test_MMT = generate_encrypt_test(
-        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
-        os.path.join("AES", "MMT"),
-        [
-            "CFB128MMT128.rsp",
-            "CFB128MMT192.rsp",
-            "CFB128MMT256.rsp",
-        ],
-        lambda key, iv: ciphers.AES(binascii.unhexlify(key)),
-        lambda key, iv: modes.CFB(binascii.unhexlify(iv)),
-    )
-
-
-class TestTripleDES_CBC(object):
-    test_KAT = generate_encrypt_test(
-        lambda path: load_nist_vectors_from_file(path, "ENCRYPT"),
-        os.path.join("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("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("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("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("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("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/vectors/RFC/HMAC/rfc-2202-md5.txt b/tests/hazmat/primitives/vectors/HMAC/rfc-2202-md5.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/RFC/HMAC/rfc-2202-md5.txt
rename to tests/hazmat/primitives/vectors/HMAC/rfc-2202-md5.txt
diff --git a/tests/hazmat/primitives/vectors/RFC/HMAC/rfc-2202-sha1.txt b/tests/hazmat/primitives/vectors/HMAC/rfc-2202-sha1.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/RFC/HMAC/rfc-2202-sha1.txt
rename to tests/hazmat/primitives/vectors/HMAC/rfc-2202-sha1.txt
diff --git a/tests/hazmat/primitives/vectors/RFC/HMAC/rfc-2286-ripemd160.txt b/tests/hazmat/primitives/vectors/HMAC/rfc-2286-ripemd160.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/RFC/HMAC/rfc-2286-ripemd160.txt
rename to tests/hazmat/primitives/vectors/HMAC/rfc-2286-ripemd160.txt
diff --git a/tests/hazmat/primitives/vectors/RFC/HMAC/rfc-4231-sha224.txt b/tests/hazmat/primitives/vectors/HMAC/rfc-4231-sha224.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/RFC/HMAC/rfc-4231-sha224.txt
rename to tests/hazmat/primitives/vectors/HMAC/rfc-4231-sha224.txt
diff --git a/tests/hazmat/primitives/vectors/RFC/HMAC/rfc-4231-sha256.txt b/tests/hazmat/primitives/vectors/HMAC/rfc-4231-sha256.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/RFC/HMAC/rfc-4231-sha256.txt
rename to tests/hazmat/primitives/vectors/HMAC/rfc-4231-sha256.txt
diff --git a/tests/hazmat/primitives/vectors/RFC/HMAC/rfc-4231-sha384.txt b/tests/hazmat/primitives/vectors/HMAC/rfc-4231-sha384.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/RFC/HMAC/rfc-4231-sha384.txt
rename to tests/hazmat/primitives/vectors/HMAC/rfc-4231-sha384.txt
diff --git a/tests/hazmat/primitives/vectors/RFC/HMAC/rfc-4231-sha512.txt b/tests/hazmat/primitives/vectors/HMAC/rfc-4231-sha512.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/RFC/HMAC/rfc-4231-sha512.txt
rename to tests/hazmat/primitives/vectors/HMAC/rfc-4231-sha512.txt
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCIMMT1.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIMMT1.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCIMMT1.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIMMT1.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCIMMT2.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIMMT2.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCIMMT2.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIMMT2.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCIMMT3.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIMMT3.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCIMMT3.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIMMT3.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCIinvperm.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIinvperm.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCIinvperm.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIinvperm.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCIpermop.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIpermop.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCIpermop.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIpermop.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCIsubtab.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIsubtab.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCIsubtab.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIsubtab.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCIvarkey.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIvarkey.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCIvarkey.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIvarkey.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCIvartext.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIvartext.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCIvartext.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCIvartext.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCMMT1.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCMMT1.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCMMT1.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCMMT1.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCMMT2.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCMMT2.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCMMT2.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCMMT2.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCMMT3.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCMMT3.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCBCMMT3.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCMMT3.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCinvperm.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCinvperm.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCinvperm.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCinvperm.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCpermop.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCpermop.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCpermop.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCpermop.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCsubtab.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCsubtab.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCsubtab.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCsubtab.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCvarkey.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCvarkey.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCvarkey.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCvarkey.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCvartext.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCvartext.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCBCvartext.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CBC/TCBCvartext.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB1MMT1.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1MMT1.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB1MMT1.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1MMT1.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB1MMT2.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1MMT2.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB1MMT2.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1MMT2.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB1MMT3.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1MMT3.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB1MMT3.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1MMT3.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB1invperm.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1invperm.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB1invperm.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1invperm.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB1permop.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1permop.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB1permop.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1permop.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB1subtab.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1subtab.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB1subtab.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1subtab.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB1varkey.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1varkey.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB1varkey.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1varkey.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB1vartext.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1vartext.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB1vartext.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB1vartext.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB64MMT1.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64MMT1.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB64MMT1.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64MMT1.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB64MMT2.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64MMT2.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB64MMT2.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64MMT2.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB64MMT3.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64MMT3.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB64MMT3.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64MMT3.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB64invperm.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64invperm.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB64invperm.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64invperm.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB64permop.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64permop.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB64permop.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64permop.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB64subtab.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64subtab.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB64subtab.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64subtab.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB64varkey.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64varkey.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB64varkey.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64varkey.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB64vartext.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64vartext.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB64vartext.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB64vartext.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB8MMT1.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8MMT1.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB8MMT1.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8MMT1.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB8MMT2.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8MMT2.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB8MMT2.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8MMT2.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB8MMT3.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8MMT3.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFB8MMT3.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8MMT3.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB8invperm.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8invperm.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB8invperm.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8invperm.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB8permop.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8permop.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB8permop.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8permop.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB8subtab.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8subtab.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB8subtab.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8subtab.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB8varkey.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8varkey.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB8varkey.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8varkey.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB8vartext.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8vartext.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFB8vartext.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFB8vartext.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP1MMT1.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1MMT1.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP1MMT1.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1MMT1.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP1MMT2.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1MMT2.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP1MMT2.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1MMT2.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP1MMT3.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1MMT3.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP1MMT3.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1MMT3.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP1invperm.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1invperm.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP1invperm.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1invperm.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP1permop.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1permop.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP1permop.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1permop.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP1subtab.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1subtab.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP1subtab.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1subtab.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP1varkey.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1varkey.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP1varkey.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1varkey.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP1vartext.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1vartext.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP1vartext.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP1vartext.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP64MMT1.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64MMT1.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP64MMT1.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64MMT1.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP64MMT2.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64MMT2.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP64MMT2.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64MMT2.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP64MMT3.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64MMT3.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP64MMT3.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64MMT3.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP64invperm.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64invperm.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP64invperm.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64invperm.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP64permop.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64permop.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP64permop.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64permop.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP64subtab.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64subtab.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP64subtab.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64subtab.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP64varkey.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64varkey.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP64varkey.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64varkey.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP64vartext.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64vartext.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP64vartext.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP64vartext.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP8MMT1.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8MMT1.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP8MMT1.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8MMT1.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP8MMT2.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8MMT2.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP8MMT2.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8MMT2.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP8MMT3.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8MMT3.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TCFBP8MMT3.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8MMT3.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP8invperm.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8invperm.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP8invperm.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8invperm.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP8permop.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8permop.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP8permop.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8permop.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP8subtab.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8subtab.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP8subtab.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8subtab.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP8varkey.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8varkey.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP8varkey.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8varkey.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP8vartext.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8vartext.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TCFBP8vartext.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/CFB/TCFBP8vartext.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TECBMMT1.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBMMT1.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TECBMMT1.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBMMT1.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TECBMMT2.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBMMT2.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TECBMMT2.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBMMT2.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TECBMMT3.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBMMT3.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TECBMMT3.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBMMT3.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TECBinvperm.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBinvperm.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TECBinvperm.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBinvperm.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TECBpermop.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBpermop.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TECBpermop.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBpermop.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TECBsubtab.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBsubtab.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TECBsubtab.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBsubtab.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TECBvarkey.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBvarkey.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TECBvarkey.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBvarkey.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TECBvartext.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBvartext.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TECBvartext.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/ECB/TECBvartext.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBIMMT1.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIMMT1.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBIMMT1.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIMMT1.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBIMMT2.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIMMT2.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBIMMT2.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIMMT2.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBIMMT3.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIMMT3.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBIMMT3.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIMMT3.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBIinvperm.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIinvperm.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBIinvperm.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIinvperm.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBIpermop.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIpermop.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBIpermop.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIpermop.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBIsubtab.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIsubtab.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBIsubtab.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIsubtab.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBIvarkey.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIvarkey.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBIvarkey.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIvarkey.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBIvartext.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIvartext.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBIvartext.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBIvartext.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBMMT1.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBMMT1.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBMMT1.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBMMT1.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBMMT2.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBMMT2.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBMMT2.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBMMT2.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBMMT3.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBMMT3.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/MMT/TOFBMMT3.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBMMT3.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBinvperm.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBinvperm.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBinvperm.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBinvperm.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBpermop.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBpermop.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBpermop.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBpermop.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBsubtab.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBsubtab.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBsubtab.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBsubtab.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBvarkey.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBvarkey.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBvarkey.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBvarkey.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBvartext.rsp b/tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBvartext.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/3DES/KAT/TOFBvartext.rsp
rename to tests/hazmat/primitives/vectors/ciphers/3DES/OFB/TOFBvartext.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCGFSbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCGFSbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCGFSbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCGFSbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCGFSbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCGFSbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCGFSbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCGFSbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCGFSbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCGFSbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCGFSbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCGFSbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCKeySbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCKeySbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCKeySbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCKeySbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCKeySbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCKeySbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCKeySbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCKeySbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCKeySbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCKeySbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCKeySbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCKeySbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CBCMMT128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCMMT128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CBCMMT128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCMMT128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CBCMMT192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCMMT192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CBCMMT192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCMMT192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CBCMMT256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCMMT256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CBCMMT256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCMMT256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarKey128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarKey128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarKey128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarKey128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarKey192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarKey192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarKey192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarKey192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarKey256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarKey256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarKey256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarKey256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarTxt128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarTxt128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarTxt128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarTxt128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarTxt192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarTxt192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarTxt192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarTxt192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarTxt256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarTxt256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CBCVarTxt256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CBC/CBCVarTxt256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128GFSbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128GFSbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128GFSbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128GFSbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128GFSbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128GFSbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128GFSbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128GFSbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128GFSbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128GFSbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128GFSbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128GFSbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128KeySbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128KeySbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128KeySbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128KeySbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128KeySbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128KeySbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128KeySbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128KeySbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128KeySbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128KeySbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128KeySbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128KeySbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB128MMT128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128MMT128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB128MMT128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128MMT128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB128MMT192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128MMT192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB128MMT192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128MMT192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB128MMT256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128MMT256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB128MMT256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128MMT256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarKey128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarKey128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarKey128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarKey128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarKey192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarKey192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarKey192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarKey192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarKey256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarKey256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarKey256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarKey256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarTxt128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarTxt128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarTxt128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarTxt128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarTxt192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarTxt192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarTxt192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarTxt192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarTxt256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarTxt256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB128VarTxt256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB128VarTxt256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1GFSbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1GFSbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1GFSbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1GFSbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1GFSbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1GFSbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1GFSbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1GFSbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1GFSbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1GFSbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1GFSbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1GFSbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1KeySbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1KeySbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1KeySbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1KeySbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1KeySbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1KeySbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1KeySbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1KeySbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1KeySbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1KeySbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1KeySbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1KeySbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB1MMT128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1MMT128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB1MMT128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1MMT128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB1MMT192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1MMT192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB1MMT192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1MMT192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB1MMT256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1MMT256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB1MMT256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1MMT256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarKey128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarKey128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarKey128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarKey128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarKey192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarKey192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarKey192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarKey192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarKey256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarKey256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarKey256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarKey256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarTxt128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarTxt128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarTxt128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarTxt128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarTxt192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarTxt192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarTxt192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarTxt192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarTxt256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarTxt256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB1VarTxt256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB1VarTxt256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8GFSbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8GFSbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8GFSbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8GFSbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8GFSbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8GFSbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8GFSbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8GFSbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8GFSbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8GFSbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8GFSbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8GFSbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8KeySbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8KeySbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8KeySbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8KeySbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8KeySbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8KeySbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8KeySbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8KeySbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8KeySbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8KeySbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8KeySbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8KeySbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB8MMT128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8MMT128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB8MMT128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8MMT128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB8MMT192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8MMT192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB8MMT192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8MMT192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB8MMT256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8MMT256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/CFB8MMT256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8MMT256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarKey128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarKey128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarKey128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarKey128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarKey192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarKey192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarKey192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarKey192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarKey256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarKey256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarKey256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarKey256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarTxt128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarTxt128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarTxt128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarTxt128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarTxt192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarTxt192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarTxt192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarTxt192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarTxt256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarTxt256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/CFB8VarTxt256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/CFB/CFB8VarTxt256.rsp
diff --git a/tests/hazmat/primitives/vectors/OpenSSL/AES/aes-128-ctr.txt b/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-128-ctr.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/OpenSSL/AES/aes-128-ctr.txt
rename to tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-128-ctr.txt
diff --git a/tests/hazmat/primitives/vectors/OpenSSL/AES/aes-192-ctr.txt b/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-192-ctr.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/OpenSSL/AES/aes-192-ctr.txt
rename to tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-192-ctr.txt
diff --git a/tests/hazmat/primitives/vectors/OpenSSL/AES/aes-256-ctr.txt b/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-256-ctr.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/OpenSSL/AES/aes-256-ctr.txt
rename to tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-256-ctr.txt
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBGFSbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBGFSbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBGFSbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBGFSbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBGFSbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBGFSbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBGFSbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBGFSbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBGFSbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBGFSbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBGFSbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBGFSbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBKeySbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBKeySbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBKeySbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBKeySbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBKeySbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBKeySbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBKeySbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBKeySbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBKeySbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBKeySbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBKeySbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBKeySbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/ECBMMT128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBMMT128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/ECBMMT128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBMMT128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/ECBMMT192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBMMT192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/ECBMMT192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBMMT192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/ECBMMT256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBMMT256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/ECBMMT256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBMMT256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarKey128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarKey128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarKey128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarKey128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarKey192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarKey192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarKey192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarKey192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarKey256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarKey256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarKey256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarKey256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarTxt128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarTxt128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarTxt128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarTxt128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarTxt192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarTxt192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarTxt192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarTxt192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarTxt256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarTxt256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/ECBVarTxt256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/ECB/ECBVarTxt256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmDecrypt128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmDecrypt128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmDecrypt128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmDecrypt128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmDecrypt192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmDecrypt192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmDecrypt192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmDecrypt192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmDecrypt256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmDecrypt256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmDecrypt256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmDecrypt256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmEncryptExtIV128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmEncryptExtIV128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmEncryptExtIV128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmEncryptExtIV128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmEncryptExtIV192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmEncryptExtIV192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmEncryptExtIV192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmEncryptExtIV192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmEncryptExtIV256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmEncryptExtIV256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/gcmtestvectors/gcmEncryptExtIV256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/GCM/gcmEncryptExtIV256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBGFSbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBGFSbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBGFSbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBGFSbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBGFSbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBGFSbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBGFSbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBGFSbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBGFSbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBGFSbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBGFSbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBGFSbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBKeySbox128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBKeySbox128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBKeySbox128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBKeySbox128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBKeySbox192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBKeySbox192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBKeySbox192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBKeySbox192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBKeySbox256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBKeySbox256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBKeySbox256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBKeySbox256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/OFBMMT128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBMMT128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/OFBMMT128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBMMT128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/OFBMMT192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBMMT192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/OFBMMT192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBMMT192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/MMT/OFBMMT256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBMMT256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/MMT/OFBMMT256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBMMT256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarKey128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarKey128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarKey128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarKey128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarKey192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarKey192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarKey192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarKey192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarKey256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarKey256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarKey256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarKey256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarTxt128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarTxt128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarTxt128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarTxt128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarTxt192.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarTxt192.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarTxt192.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarTxt192.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarTxt256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarTxt256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/KAT/OFBVarTxt256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/OFB/OFBVarTxt256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/XTSTestVectors/tweak-128hexstr/XTSGenAES128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/XTS/tweak-128hexstr/XTSGenAES128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/XTSTestVectors/tweak-128hexstr/XTSGenAES128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/XTS/tweak-128hexstr/XTSGenAES128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/XTSTestVectors/tweak-128hexstr/XTSGenAES256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/XTS/tweak-128hexstr/XTSGenAES256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/XTSTestVectors/tweak-128hexstr/XTSGenAES256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/XTS/tweak-128hexstr/XTSGenAES256.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/XTSTestVectors/tweak-dataunitseqno/XTSGenAES128.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/XTS/tweak-dataunitseqno/XTSGenAES128.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/XTSTestVectors/tweak-dataunitseqno/XTSGenAES128.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/XTS/tweak-dataunitseqno/XTSGenAES128.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/AES/XTSTestVectors/tweak-dataunitseqno/XTSGenAES256.rsp b/tests/hazmat/primitives/vectors/ciphers/AES/XTS/tweak-dataunitseqno/XTSGenAES256.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/AES/XTSTestVectors/tweak-dataunitseqno/XTSGenAES256.rsp
rename to tests/hazmat/primitives/vectors/ciphers/AES/XTS/tweak-dataunitseqno/XTSGenAES256.rsp
diff --git a/tests/hazmat/primitives/vectors/CRYPTREC/Camellia/NTT/camellia-128-ecb.txt b/tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-128-ecb.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/CRYPTREC/Camellia/NTT/camellia-128-ecb.txt
rename to tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-128-ecb.txt
diff --git a/tests/hazmat/primitives/vectors/CRYPTREC/Camellia/NTT/camellia-192-ecb.txt b/tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-192-ecb.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/CRYPTREC/Camellia/NTT/camellia-192-ecb.txt
rename to tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-192-ecb.txt
diff --git a/tests/hazmat/primitives/vectors/CRYPTREC/Camellia/NTT/camellia-256-ecb.txt b/tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-256-ecb.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/CRYPTREC/Camellia/NTT/camellia-256-ecb.txt
rename to tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-256-ecb.txt
diff --git a/tests/hazmat/primitives/vectors/OpenSSL/Camellia/camellia-cbc.txt b/tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-cbc.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/OpenSSL/Camellia/camellia-cbc.txt
rename to tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-cbc.txt
diff --git a/tests/hazmat/primitives/vectors/OpenSSL/Camellia/camellia-cfb.txt b/tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-cfb.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/OpenSSL/Camellia/camellia-cfb.txt
rename to tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-cfb.txt
diff --git a/tests/hazmat/primitives/vectors/OpenSSL/Camellia/camellia-ofb.txt b/tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-ofb.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/OpenSSL/Camellia/camellia-ofb.txt
rename to tests/hazmat/primitives/vectors/ciphers/Camellia/camellia-ofb.txt
diff --git a/tests/hazmat/primitives/vectors/RFC/MD5/rfc-1321.txt b/tests/hazmat/primitives/vectors/hashes/MD5/rfc-1321.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/RFC/MD5/rfc-1321.txt
rename to tests/hazmat/primitives/vectors/hashes/MD5/rfc-1321.txt
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/Readme.txt b/tests/hazmat/primitives/vectors/hashes/SHA1/Readme.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/Readme.txt
rename to tests/hazmat/primitives/vectors/hashes/SHA1/Readme.txt
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA1LongMsg.rsp b/tests/hazmat/primitives/vectors/hashes/SHA1/SHA1LongMsg.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA1LongMsg.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA1/SHA1LongMsg.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA1Monte.rsp b/tests/hazmat/primitives/vectors/hashes/SHA1/SHA1Monte.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA1Monte.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA1/SHA1Monte.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA1Monte.txt b/tests/hazmat/primitives/vectors/hashes/SHA1/SHA1Monte.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA1Monte.txt
rename to tests/hazmat/primitives/vectors/hashes/SHA1/SHA1Monte.txt
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA1ShortMsg.rsp b/tests/hazmat/primitives/vectors/hashes/SHA1/SHA1ShortMsg.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA1ShortMsg.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA1/SHA1ShortMsg.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/Readme.txt b/tests/hazmat/primitives/vectors/hashes/SHA2/Readme.txt
similarity index 100%
copy from tests/hazmat/primitives/vectors/NIST/SHABYTE/Readme.txt
copy to tests/hazmat/primitives/vectors/hashes/SHA2/Readme.txt
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA224LongMsg.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA224LongMsg.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA224LongMsg.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA224LongMsg.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA224Monte.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA224Monte.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA224Monte.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA224Monte.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA224Monte.txt b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA224Monte.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA224Monte.txt
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA224Monte.txt
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA224ShortMsg.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA224ShortMsg.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA224ShortMsg.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA224ShortMsg.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA256LongMsg.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA256LongMsg.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA256LongMsg.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA256LongMsg.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA256Monte.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA256Monte.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA256Monte.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA256Monte.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA256Monte.txt b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA256Monte.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA256Monte.txt
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA256Monte.txt
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA256ShortMsg.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA256ShortMsg.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA256ShortMsg.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA256ShortMsg.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA384LongMsg.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA384LongMsg.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA384LongMsg.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA384LongMsg.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA384Monte.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA384Monte.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA384Monte.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA384Monte.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA384Monte.txt b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA384Monte.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA384Monte.txt
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA384Monte.txt
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA384ShortMsg.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA384ShortMsg.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA384ShortMsg.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA384ShortMsg.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA512LongMsg.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA512LongMsg.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA512LongMsg.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA512LongMsg.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA512Monte.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA512Monte.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA512Monte.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA512Monte.rsp
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA512Monte.txt b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA512Monte.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA512Monte.txt
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA512Monte.txt
diff --git a/tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA512ShortMsg.rsp b/tests/hazmat/primitives/vectors/hashes/SHA2/SHA512ShortMsg.rsp
similarity index 100%
rename from tests/hazmat/primitives/vectors/NIST/SHABYTE/SHA512ShortMsg.rsp
rename to tests/hazmat/primitives/vectors/hashes/SHA2/SHA512ShortMsg.rsp
diff --git a/tests/hazmat/primitives/vectors/ISO/ripemd160/ripevectors.txt b/tests/hazmat/primitives/vectors/hashes/ripemd160/ripevectors.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/ISO/ripemd160/ripevectors.txt
rename to tests/hazmat/primitives/vectors/hashes/ripemd160/ripevectors.txt
diff --git a/tests/hazmat/primitives/vectors/ISO/whirlpool/iso-test-vectors.txt b/tests/hazmat/primitives/vectors/hashes/whirlpool/iso-test-vectors.txt
similarity index 100%
rename from tests/hazmat/primitives/vectors/ISO/whirlpool/iso-test-vectors.txt
rename to tests/hazmat/primitives/vectors/hashes/whirlpool/iso-test-vectors.txt
diff --git a/tests/test_utils.py b/tests/test_utils.py
index db9ac08..0692c8d 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -11,6 +11,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+import os
 import textwrap
 
 import pytest
@@ -133,7 +134,7 @@
 
 def test_load_nist_vectors_from_file_encrypt():
     assert load_nist_vectors_from_file(
-        "AES/KAT/CBCGFSbox128.rsp",
+        os.path.join("ciphers", "AES", "CBC", "CBCGFSbox128.rsp"),
         "ENCRYPT"
     ) == [
         {
@@ -183,7 +184,7 @@
 
 def test_load_nist_vectors_from_file_decrypt():
     assert load_nist_vectors_from_file(
-        "AES/KAT/CBCGFSbox128.rsp",
+        os.path.join("ciphers", "AES", "CBC", "CBCGFSbox128.rsp"),
         "DECRYPT",
     ) == [
         {
@@ -287,7 +288,7 @@
 
 def test_load_cryptrec_vectors_from_file_encrypt():
     test_set = load_cryptrec_vectors_from_file(
-        "Camellia/NTT/camellia-128-ecb.txt"
+        os.path.join("ciphers", "Camellia", "camellia-128-ecb.txt"),
     )
     assert test_set[0] == (
         {
@@ -351,7 +352,9 @@
 
 
 def test_load_openssl_vectors_from_file():
-    test_list = load_openssl_vectors_from_file("Camellia/camellia-ofb.txt")
+    test_list = load_openssl_vectors_from_file(
+        os.path.join("ciphers", "Camellia", "camellia-ofb.txt")
+    )
     assert len(test_list) == 24
     assert test_list[:4] == [
         {
@@ -440,7 +443,9 @@
 
 
 def test_load_hash_vectors_from_file():
-    test_list = load_hash_vectors_from_file("RFC/MD5/rfc-1321.txt")
+    test_list = load_hash_vectors_from_file(
+        os.path.join("hashes", "MD5", "rfc-1321.txt")
+    )
     assert len(test_list) == 7
     assert test_list[:4] == [
         (b"", "d41d8cd98f00b204e9800998ecf8427e"),
diff --git a/tests/utils.py b/tests/utils.py
index ad676c0..99ba2e2 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -53,7 +53,7 @@
 
 def load_nist_vectors_from_file(filename, op):
     base = os.path.join(
-        os.path.dirname(__file__), "hazmat", "primitives", "vectors", "NIST",
+        os.path.dirname(__file__), "hazmat", "primitives", "vectors",
     )
     with open(os.path.join(base, filename), "r") as vector_file:
         return load_nist_vectors(vector_file, op)
@@ -62,7 +62,7 @@
 def load_cryptrec_vectors_from_file(filename):
     base = os.path.join(
         os.path.dirname(__file__),
-        "hazmat", "primitives", "vectors", "CRYPTREC",
+        "hazmat", "primitives", "vectors",
     )
     with open(os.path.join(base, filename), "r") as vector_file:
         return load_cryptrec_vectors(vector_file)
@@ -99,7 +99,7 @@
 def load_openssl_vectors_from_file(filename):
     base = os.path.join(
         os.path.dirname(__file__),
-        "hazmat", "primitives", "vectors", "OpenSSL",
+        "hazmat", "primitives", "vectors",
     )
     with open(os.path.join(base, filename), "r") as vector_file:
         return load_openssl_vectors(vector_file)