aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/development/test-vectors.rst3
-rw-r--r--tests/hazmat/primitives/test_aes.py6
-rw-r--r--tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-128-ctr.txt25
-rw-r--r--tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-192-ctr.txt25
-rw-r--r--tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-256-ctr.txt24
5 files changed, 66 insertions, 17 deletions
diff --git a/docs/development/test-vectors.rst b/docs/development/test-vectors.rst
index 3b8632e6..97b5c344 100644
--- a/docs/development/test-vectors.rst
+++ b/docs/development/test-vectors.rst
@@ -47,7 +47,8 @@ Recipes
Symmetric Ciphers
~~~~~~~~~~~~~~~~~
-* AES (CBC, CFB, CTR, ECB, GCM, OFB) from `NIST CAVP`_.
+* AES (CBC, CFB, ECB, GCM, OFB) from `NIST CAVP`_.
+* AES CTR from :rfc:`3686`.
* 3DES (CBC, CFB, ECB, OFB) from `NIST CAVP`_.
* ARC4 from :rfc:`6229`.
* Blowfish (CBC, CFB, ECB, OFB) from `Bruce Schneier's vectors`_.
diff --git a/tests/hazmat/primitives/test_aes.py b/tests/hazmat/primitives/test_aes.py
index 8cba8c66..157d3536 100644
--- a/tests/hazmat/primitives/test_aes.py
+++ b/tests/hazmat/primitives/test_aes.py
@@ -21,9 +21,7 @@ import pytest
from cryptography.hazmat.primitives.ciphers import algorithms, modes
from .utils import generate_encrypt_test, generate_aead_test
-from ...utils import (
- load_nist_vectors, load_openssl_vectors,
-)
+from ...utils import load_nist_vectors
@pytest.mark.supported(
@@ -167,7 +165,7 @@ class TestAES_CFB(object):
@pytest.mark.cipher
class TestAES_CTR(object):
test_CTR = generate_encrypt_test(
- load_openssl_vectors,
+ load_nist_vectors,
os.path.join("ciphers", "AES", "CTR"),
["aes-128-ctr.txt", "aes-192-ctr.txt", "aes-256-ctr.txt"],
lambda key, **kwargs: algorithms.AES(binascii.unhexlify(key)),
diff --git a/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-128-ctr.txt b/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-128-ctr.txt
index f4ce15eb..d7713b8a 100644
--- a/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-128-ctr.txt
+++ b/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-128-ctr.txt
@@ -1,4 +1,21 @@
-# AES Counter test vectors from RFC3686
-aes-128-ctr:AE6852F8121067CC4BF7A5765577F39E:00000030000000000000000000000001:53696E676C6520626C6F636B206D7367:E4095D4FB7A7B3792D6175A3261311B8:1
-aes-128-ctr:7E24067817FAE0D743D6CE1F32539163:006CB6DBC0543B59DA48D90B00000001:000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F:5104A106168A72D9790D41EE8EDAD388EB2E1EFC46DA57C8FCE630DF9141BE28:1
-aes-128-ctr:7691BE035E5020A8AC6E618529F9A0DC:00E0017B27777F3F4A1786F000000001:000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223:C1CF48A89F2FFDD9CF4652E9EFDB72D74540A42BDE6D7836D59A5CEAAEF3105325B2072F:1
+# AES Counter test vectors from RFC 3686
+
+[ENCRYPT]
+
+COUNT = 0
+KEY = AE6852F8121067CC4BF7A5765577F39E
+IV = 00000030000000000000000000000001
+PLAINTEXT = 53696E676C6520626C6F636B206D7367
+CIPHERTEXT = E4095D4FB7A7B3792D6175A3261311B8
+
+COUNT = 1
+KEY = 7E24067817FAE0D743D6CE1F32539163
+IV = 006CB6DBC0543B59DA48D90B00000001
+PLAINTEXT = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+CIPHERTEXT = 5104A106168A72D9790D41EE8EDAD388EB2E1EFC46DA57C8FCE630DF9141BE28
+
+COUNT = 2
+KEY = 7691BE035E5020A8AC6E618529F9A0DC
+IV = 00E0017B27777F3F4A1786F000000001
+PLAINTEXT = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223
+CIPHERTEXT = C1CF48A89F2FFDD9CF4652E9EFDB72D74540A42BDE6D7836D59A5CEAAEF3105325B2072F
diff --git a/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-192-ctr.txt b/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-192-ctr.txt
index 9e166fc4..a58ad246 100644
--- a/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-192-ctr.txt
+++ b/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-192-ctr.txt
@@ -1,4 +1,21 @@
-# AES Counter test vectors from RFC3686
-aes-192-ctr:16AF5B145FC9F579C175F93E3BFB0EED863D06CCFDB78515:0000004836733C147D6D93CB00000001:53696E676C6520626C6F636B206D7367:4B55384FE259C9C84E7935A003CBE928:1
-aes-192-ctr:7C5CB2401B3DC33C19E7340819E0F69C678C3DB8E6F6A91A:0096B03B020C6EADC2CB500D00000001:000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F:453243FC609B23327EDFAAFA7131CD9F8490701C5AD4A79CFC1FE0FF42F4FB00:1
-aes-192-ctr:02BF391EE8ECB159B959617B0965279BF59B60A786D3E0FE:0007BDFD5CBD60278DCC091200000001:000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223:96893FC55E5C722F540B7DD1DDF7E758D288BC95C69165884536C811662F2188ABEE0935:1
+# AES Counter test vectors from RFC 3686
+
+[ENCRYPT]
+
+COUNT = 0
+KEY = 16AF5B145FC9F579C175F93E3BFB0EED863D06CCFDB78515
+IV = 0000004836733C147D6D93CB00000001
+PLAINTEXT = 53696E676C6520626C6F636B206D7367
+CIPHERTEXT = 4B55384FE259C9C84E7935A003CBE928
+
+COUNT = 1
+KEY = 7C5CB2401B3DC33C19E7340819E0F69C678C3DB8E6F6A91A
+IV = 0096B03B020C6EADC2CB500D00000001
+PLAINTEXT = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+CIPHERTEXT = 453243FC609B23327EDFAAFA7131CD9F8490701C5AD4A79CFC1FE0FF42F4FB00
+
+COUNT = 2
+KEY = 02BF391EE8ECB159B959617B0965279BF59B60A786D3E0FE
+IV = 0007BDFD5CBD60278DCC091200000001
+PLAINTEXT = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223
+CIPHERTEXT = 96893FC55E5C722F540B7DD1DDF7E758D288BC95C69165884536C811662F2188ABEE0935
diff --git a/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-256-ctr.txt b/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-256-ctr.txt
index d4998750..8b123fdd 100644
--- a/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-256-ctr.txt
+++ b/tests/hazmat/primitives/vectors/ciphers/AES/CTR/aes-256-ctr.txt
@@ -1,5 +1,21 @@
-# AES Counter test vectors from RFC3686
-aes-256-ctr:776BEFF2851DB06F4C8A0542C8696F6C6A81AF1EEC96B4D37FC1D689E6C1C104:00000060DB5672C97AA8F0B200000001:53696E676C6520626C6F636B206D7367:145AD01DBF824EC7560863DC71E3E0C0:1
-aes-256-ctr:F6D66D6BD52D59BB0796365879EFF886C66DD51A5B6A99744B50590C87A23884:00FAAC24C1585EF15A43D87500000001:000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F:F05E231B3894612C49EE000B804EB2A9B8306B508F839D6A5530831D9344AF1C:1
-aes-256-ctr:FF7A617CE69148E4F1726E2F43581DE2AA62D9F805532EDFF1EED687FB54153D:001CC5B751A51D70A1C1114800000001:000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223:EB6C52821D0BBBF7CE7594462ACA4FAAB407DF866569FD07F48CC0B583D6071F1EC0E6B8:1
+# AES Counter test vectors from RFC 3686
+[ENCRYPT]
+
+COUNT = 0
+KEY = 776BEFF2851DB06F4C8A0542C8696F6C6A81AF1EEC96B4D37FC1D689E6C1C104
+IV = 00000060DB5672C97AA8F0B200000001
+PLAINTEXT = 53696E676C6520626C6F636B206D7367
+CIPHERTEXT = 145AD01DBF824EC7560863DC71E3E0C0
+
+COUNT = 1
+KEY = F6D66D6BD52D59BB0796365879EFF886C66DD51A5B6A99744B50590C87A23884
+IV = 00FAAC24C1585EF15A43D87500000001
+PLAINTEXT = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
+CIPHERTEXT = F05E231B3894612C49EE000B804EB2A9B8306B508F839D6A5530831D9344AF1C
+
+COUNT = 2
+KEY = FF7A617CE69148E4F1726E2F43581DE2AA62D9F805532EDFF1EED687FB54153D
+IV = 001CC5B751A51D70A1C1114800000001
+PLAINTEXT = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223
+CIPHERTEXT = EB6C52821D0BBBF7CE7594462ACA4FAAB407DF866569FD07F48CC0B583D6071F1EC0E6B8