aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/primitives/vectors/ciphers/ARC4
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2013-11-01 15:46:52 -0700
committerPaul Kehrer <paul.l.kehrer@gmail.com>2013-11-01 15:46:52 -0700
commitb0897d82b5dabc2defe5f8fb7306997729106ffa (patch)
tree094fd56daa75014f87dc33ddfc18b4a27b8e82fa /tests/hazmat/primitives/vectors/ciphers/ARC4
parentc94cdbca7f48095ddbaf15612c7b119b3ca26f73 (diff)
downloadcryptography-b0897d82b5dabc2defe5f8fb7306997729106ffa.tar.gz
cryptography-b0897d82b5dabc2defe5f8fb7306997729106ffa.tar.bz2
cryptography-b0897d82b5dabc2defe5f8fb7306997729106ffa.zip
ARC4 vectors from RFC 6229 reformatted for NIST loader
Diffstat (limited to 'tests/hazmat/primitives/vectors/ciphers/ARC4')
-rw-r--r--tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-128.txt128
-rw-r--r--tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-192.txt128
-rw-r--r--tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-256.txt128
-rw-r--r--tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-40.txt111
-rw-r--r--tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-56.txt128
-rw-r--r--tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-64.txt128
-rw-r--r--tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-80.txt128
7 files changed, 879 insertions, 0 deletions
diff --git a/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-128.txt b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-128.txt
new file mode 100644
index 00000000..7d1fa5e6
--- /dev/null
+++ b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-128.txt
@@ -0,0 +1,128 @@
+# Vectors from RFC 6229. Reformatted to work with the NIST loader
+[ENCRYPT]
+
+# 128-bit key
+COUNT = 0
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 0
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 9ac7cc9a609d1ef7b2932899cde41b97
+
+
+COUNT = 1
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 16
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 5248c4959014126a6e8a84f11d1a9e1c
+
+
+COUNT = 2
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 240
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 065902e4b620f6cc36c8589f66432f2b
+
+
+COUNT = 3
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 256
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = d39d566bc6bce3010768151549f3873f
+
+
+COUNT = 4
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 496
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = b6d1e6c4a5e4771cad79538df295fb11
+
+
+COUNT = 5
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 512
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = c68c1d5c559a974123df1dbc52a43b89
+
+
+COUNT = 6
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 752
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = c5ecf88de897fd57fed301701b82a259
+
+
+COUNT = 7
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 768
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = eccbe13de1fcc91c11a0b26c0bc8fa4d
+
+
+COUNT = 8
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 1008
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = e7a72574f8782ae26aabcf9ebcd66065
+
+
+COUNT = 9
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 1024
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = bdf0324e6083dcc6d3cedd3ca8c53c16
+
+
+COUNT = 10
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 1520
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = b40110c4190b5622a96116b0017ed297
+
+
+COUNT = 11
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 1536
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = ffa0b514647ec04f6306b892ae661181
+
+
+COUNT = 12
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 2032
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = d03d1bc03cd33d70dff9fa5d71963ebd
+
+
+COUNT = 13
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 2048
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 8a44126411eaa78bd51e8d87a8879bf5
+
+
+COUNT = 14
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 3056
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = fabeb76028ade2d0e48722e46c4615a3
+
+
+COUNT = 15
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 3072
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = c05d88abd50357f935a63c59ee537623
+
+
+COUNT = 16
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 4080
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = ff38265c1642c1abe8d3c2fe5e572bf8
+
+
+COUNT = 17
+KEY = 0102030405060708090a0b0c0d0e0f10
+OFFSET = 4096
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = a36a4c301ae8ac13610ccbc12256cacc
diff --git a/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-192.txt b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-192.txt
new file mode 100644
index 00000000..dfea674d
--- /dev/null
+++ b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-192.txt
@@ -0,0 +1,128 @@
+# Vectors from RFC 6229. Reformatted to work with the NIST loader
+[ENCRYPT]
+
+# 192-bit key
+COUNT = 0
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 0
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 0595e57fe5f0bb3c706edac8a4b2db11
+
+
+COUNT = 1
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 16
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = dfde31344a1af769c74f070aee9e2326
+
+
+COUNT = 2
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 240
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = b06b9b1e195d13d8f4a7995c4553ac05
+
+
+COUNT = 3
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 256
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 6bd2378ec341c9a42f37ba79f88a32ff
+
+
+COUNT = 4
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 496
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = e70bce1df7645adb5d2c4130215c3522
+
+
+COUNT = 5
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 512
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 9a5730c7fcb4c9af51ffda89c7f1ad22
+
+
+COUNT = 6
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 752
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 0485055fd4f6f0d963ef5ab9a5476982
+
+
+COUNT = 7
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 768
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 591fc66bcda10e452b03d4551f6b62ac
+
+
+COUNT = 8
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 1008
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 2753cc83988afa3e1688a1d3b42c9a02
+
+
+COUNT = 9
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 1024
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 93610d523d1d3f0062b3c2a3bbc7c7f0
+
+
+COUNT = 10
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 1520
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 96c248610aadedfeaf8978c03de8205a
+
+
+COUNT = 11
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 1536
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 0e317b3d1c73b9e9a4688f296d133a19
+
+
+COUNT = 12
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 2032
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = bdf0e6c3cca5b5b9d533b69c56ada120
+
+
+COUNT = 13
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 2048
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 88a218b6e2ece1e6246d44c759d19b10
+
+
+COUNT = 14
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 3056
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 6866397e95c140534f94263421006e40
+
+
+COUNT = 15
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 3072
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 32cb0a1e9542c6b3b8b398abc3b0f1d5
+
+
+COUNT = 16
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 4080
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 29a0b8aed54a132324c62e423f54b4c8
+
+
+COUNT = 17
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718
+OFFSET = 4096
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 3cb0f3b5020a98b82af9fe154484a168
diff --git a/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-256.txt b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-256.txt
new file mode 100644
index 00000000..52346fbc
--- /dev/null
+++ b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-256.txt
@@ -0,0 +1,128 @@
+# Vectors from RFC 6229. Reformatted to work with the NIST loader
+[ENCRYPT]
+
+# 256-bit key
+COUNT = 0
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 0
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = eaa6bd25880bf93d3f5d1e4ca2611d91
+
+
+COUNT = 1
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 16
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = cfa45c9f7e714b54bdfa80027cb14380
+
+
+COUNT = 2
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 240
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 114ae344ded71b35f2e60febad727fd8
+
+
+COUNT = 3
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 256
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 02e1e7056b0f623900496422943e97b6
+
+
+COUNT = 4
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 496
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 91cb93c787964e10d9527d999c6f936b
+
+
+COUNT = 5
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 512
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 49b18b42f8e8367cbeb5ef104ba1c7cd
+
+
+COUNT = 6
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 752
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 87084b3ba700bade955610672745b374
+
+
+COUNT = 7
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 768
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = e7a7b9e9ec540d5ff43bdb12792d1b35
+
+
+COUNT = 8
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 1008
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = c799b596738f6b018c76c74b1759bd90
+
+
+COUNT = 9
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 1024
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 7fec5bfd9f9b89ce6548309092d7e958
+
+
+COUNT = 10
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 1520
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 40f250b26d1f096a4afd4c340a588815
+
+
+COUNT = 11
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 1536
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 3e34135c79db010200767651cf263073
+
+
+COUNT = 12
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 2032
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = f656abccf88dd827027b2ce917d464ec
+
+
+COUNT = 13
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 2048
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 18b62503bfbc077fbabb98f20d98ab34
+
+
+COUNT = 14
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 3056
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 8aed95ee5b0dcbfbef4eb21d3a3f52f9
+
+
+COUNT = 15
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 3072
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 625a1ab00ee39a5327346bddb01a9c18
+
+
+COUNT = 16
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 4080
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = a13a7c79c7e119b5ab0296ab28c300b9
+
+
+COUNT = 17
+KEY = 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
+OFFSET = 4096
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = f3e4c0a2e02d1d01f7f0a74618af2b48
diff --git a/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-40.txt b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-40.txt
new file mode 100644
index 00000000..fe5584cd
--- /dev/null
+++ b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-40.txt
@@ -0,0 +1,111 @@
+# Vectors from RFC 6229. Reformatted to work with the NIST loader
+[ENCRYPT]
+
+# 40-bit key
+COUNT = 0
+KEY = 0102030405
+OFFSET = 0
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = b2396305f03dc027ccc3524a0a1118a8
+
+COUNT = 1
+KEY = 0102030405
+OFFSET = 16
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 6982944f18fc82d589c403a47a0d0919
+
+COUNT = 2
+KEY = 0102030405
+OFFSET = 240
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 28cb1132c96ce286421dcaadb8b69eae
+
+COUNT = 3
+KEY = 0102030405
+OFFSET = 256
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 1cfcf62b03eddb641d77dfcf7f8d8c93
+
+COUNT = 4
+KEY = 0102030405
+OFFSET = 496
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 42b7d0cdd918a8a33dd51781c81f4041
+
+COUNT = 5
+KEY = 0102030405
+OFFSET = 512
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 6459844432a7da923cfb3eb4980661f6
+
+COUNT = 6
+KEY = 0102030405
+OFFSET = 752
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = ec10327bde2beefd18f9277680457e22
+
+COUNT = 7
+KEY = 0102030405
+OFFSET = 768
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = eb62638d4f0ba1fe9fca20e05bf8ff2b
+
+COUNT = 8
+KEY = 0102030405
+OFFSET = 1008
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 45129048e6a0ed0b56b490338f078da5
+
+COUNT = 9
+KEY = 0102030405
+OFFSET = 1024
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 30abbcc7c20b01609f23ee2d5f6bb7df
+
+COUNT = 10
+KEY = 0102030405
+OFFSET = 1520
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 3294f744d8f9790507e70f62e5bbceea
+
+COUNT = 11
+KEY = 0102030405
+OFFSET = 1536
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = d8729db41882259bee4f825325f5a130
+
+COUNT = 12
+KEY = 0102030405
+OFFSET = 2032
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 1eb14a0c13b3bf47fa2a0ba93ad45b8b
+
+COUNT = 13
+KEY = 0102030405
+OFFSET = 2048
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = cc582f8ba9f265e2b1be9112e975d2d7
+
+COUNT = 14
+KEY = 0102030405
+OFFSET = 3056
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = f2e30f9bd102ecbf75aaade9bc35c43c
+
+COUNT = 15
+KEY = 0102030405
+OFFSET = 3072
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = ec0e11c479dc329dc8da7968fe965681
+
+COUNT = 16
+KEY = 0102030405
+OFFSET = 4080
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 068326a2118416d21f9d04b2cd1ca050
+
+COUNT = 17
+KEY = 0102030405
+OFFSET = 4096
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = ff25b58995996707e51fbdf08b34d875
diff --git a/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-56.txt b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-56.txt
new file mode 100644
index 00000000..8b1b3c41
--- /dev/null
+++ b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-56.txt
@@ -0,0 +1,128 @@
+# Vectors from RFC 6229. Reformatted to work with the NIST loader
+[ENCRYPT]
+
+# 56-bit key
+COUNT = 0
+KEY = 01020304050607
+OFFSET = 0
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 293f02d47f37c9b633f2af5285feb46b
+
+
+COUNT = 1
+KEY = 01020304050607
+OFFSET = 16
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = e620f1390d19bd84e2e0fd752031afc1
+
+
+COUNT = 2
+KEY = 01020304050607
+OFFSET = 240
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 914f02531c9218810df60f67e338154c
+
+
+COUNT = 3
+KEY = 01020304050607
+OFFSET = 256
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = d0fdb583073ce85ab83917740ec011d5
+
+
+COUNT = 4
+KEY = 01020304050607
+OFFSET = 496
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 75f81411e871cffa70b90c74c592e454
+
+
+COUNT = 5
+KEY = 01020304050607
+OFFSET = 512
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 0bb87202938dad609e87a5a1b079e5e4
+
+
+COUNT = 6
+KEY = 01020304050607
+OFFSET = 752
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = c2911246b612e7e7b903dfeda1dad866
+
+
+COUNT = 7
+KEY = 01020304050607
+OFFSET = 768
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 32828f91502b6291368de8081de36fc2
+
+
+COUNT = 8
+KEY = 01020304050607
+OFFSET = 1008
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = f3b9a7e3b297bf9ad804512f9063eff1
+
+
+COUNT = 9
+KEY = 01020304050607
+OFFSET = 1024
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 8ecb67a9ba1f55a5a067e2b026a3676f
+
+
+COUNT = 10
+KEY = 01020304050607
+OFFSET = 1520
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = d2aa902bd42d0d7cfd340cd45810529f
+
+
+COUNT = 11
+KEY = 01020304050607
+OFFSET = 1536
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 78b272c96e42eab4c60bd914e39d06e3
+
+
+COUNT = 12
+KEY = 01020304050607
+OFFSET = 2032
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = f4332fd31a079396ee3cee3f2a4ff049
+
+
+COUNT = 13
+KEY = 01020304050607
+OFFSET = 2048
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 05459781d41fda7f30c1be7e1246c623
+
+
+COUNT = 14
+KEY = 01020304050607
+OFFSET = 3056
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = adfd3868b8e51485d5e610017e3dd609
+
+
+COUNT = 15
+KEY = 01020304050607
+OFFSET = 3072
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = ad26581c0c5be45f4cea01db2f3805d5
+
+
+COUNT = 16
+KEY = 01020304050607
+OFFSET = 4080
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = f3172ceffc3b3d997c85ccd5af1a950c
+
+
+COUNT = 17
+KEY = 01020304050607
+OFFSET = 4096
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = e74b0b9731227fd37c0ec08a47ddd8b8
diff --git a/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-64.txt b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-64.txt
new file mode 100644
index 00000000..b3a9fdb0
--- /dev/null
+++ b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-64.txt
@@ -0,0 +1,128 @@
+# Vectors from RFC 6229. Reformatted to work with the NIST loader
+[ENCRYPT]
+
+# 64-bit key
+COUNT = 0
+KEY = 0102030405060708
+OFFSET = 0
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 97ab8a1bf0afb96132f2f67258da15a8
+
+
+COUNT = 1
+KEY = 0102030405060708
+OFFSET = 16
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 8263efdb45c4a18684ef87e6b19e5b09
+
+
+COUNT = 2
+KEY = 0102030405060708
+OFFSET = 240
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 9636ebc9841926f4f7d1f362bddf6e18
+
+
+COUNT = 3
+KEY = 0102030405060708
+OFFSET = 256
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = d0a990ff2c05fef5b90373c9ff4b870a
+
+
+COUNT = 4
+KEY = 0102030405060708
+OFFSET = 496
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 73239f1db7f41d80b643c0c52518ec63
+
+
+COUNT = 5
+KEY = 0102030405060708
+OFFSET = 512
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 163b319923a6bdb4527c626126703c0f
+
+
+COUNT = 6
+KEY = 0102030405060708
+OFFSET = 752
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 49d6c8af0f97144a87df21d91472f966
+
+
+COUNT = 7
+KEY = 0102030405060708
+OFFSET = 768
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 44173a103b6616c5d5ad1cee40c863d0
+
+
+COUNT = 8
+KEY = 0102030405060708
+OFFSET = 1008
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 273c9c4b27f322e4e716ef53a47de7a4
+
+
+COUNT = 9
+KEY = 0102030405060708
+OFFSET = 1024
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = c6d0e7b226259fa9023490b26167ad1d
+
+
+COUNT = 10
+KEY = 0102030405060708
+OFFSET = 1520
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 1fe8986713f07c3d9ae1c163ff8cf9d3
+
+
+COUNT = 11
+KEY = 0102030405060708
+OFFSET = 1536
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 8369e1a965610be887fbd0c79162aafb
+
+
+COUNT = 12
+KEY = 0102030405060708
+OFFSET = 2032
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 0a0127abb44484b9fbef5abcae1b579f
+
+
+COUNT = 13
+KEY = 0102030405060708
+OFFSET = 2048
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = c2cdadc6402e8ee866e1f37bdb47e42c
+
+
+COUNT = 14
+KEY = 0102030405060708
+OFFSET = 3056
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 26b51ea37df8e1d6f76fc3b66a7429b3
+
+
+COUNT = 15
+KEY = 0102030405060708
+OFFSET = 3072
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = bc7683205d4f443dc1f29dda3315c87b
+
+
+COUNT = 16
+KEY = 0102030405060708
+OFFSET = 4080
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = d5fa5a3469d29aaaf83d23589db8c85b
+
+
+COUNT = 17
+KEY = 0102030405060708
+OFFSET = 4096
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 3fb46e2c8f0f068edce8cdcd7dfc5862
diff --git a/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-80.txt b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-80.txt
new file mode 100644
index 00000000..d5e51ec9
--- /dev/null
+++ b/tests/hazmat/primitives/vectors/ciphers/ARC4/rfc-6229-80.txt
@@ -0,0 +1,128 @@
+# Vectors from RFC 6229. Reformatted to work with the NIST loader
+[ENCRYPT]
+
+# 80-bit key
+COUNT = 0
+KEY = 0102030405060708090a
+OFFSET = 0
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = ede3b04643e586cc907dc21851709902
+
+
+COUNT = 1
+KEY = 0102030405060708090a
+OFFSET = 16
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 03516ba78f413beb223aa5d4d2df6711
+
+
+COUNT = 2
+KEY = 0102030405060708090a
+OFFSET = 240
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 3cfd6cb58ee0fdde640176ad0000044d
+
+
+COUNT = 3
+KEY = 0102030405060708090a
+OFFSET = 256
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 48532b21fb6079c9114c0ffd9c04a1ad
+
+
+COUNT = 4
+KEY = 0102030405060708090a
+OFFSET = 496
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 3e8cea98017109979084b1ef92f99d86
+
+
+COUNT = 5
+KEY = 0102030405060708090a
+OFFSET = 512
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = e20fb49bdb337ee48b8d8dc0f4afeffe
+
+
+COUNT = 6
+KEY = 0102030405060708090a
+OFFSET = 752
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 5c2521eacd7966f15e056544bea0d315
+
+
+COUNT = 7
+KEY = 0102030405060708090a
+OFFSET = 768
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = e067a7031931a246a6c3875d2f678acb
+
+
+COUNT = 8
+KEY = 0102030405060708090a
+OFFSET = 1008
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = a64f70af88ae56b6f87581c0e23e6b08
+
+
+COUNT = 9
+KEY = 0102030405060708090a
+OFFSET = 1024
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = f449031de312814ec6f319291f4a0516
+
+
+COUNT = 10
+KEY = 0102030405060708090a
+OFFSET = 1520
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = bdae85924b3cb1d0a2e33a30c6d79599
+
+
+COUNT = 11
+KEY = 0102030405060708090a
+OFFSET = 1536
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 8a0feddbac865a09bcd127fb562ed60a
+
+
+COUNT = 12
+KEY = 0102030405060708090a
+OFFSET = 2032
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = b55a0a5b51a12a8be34899c3e047511a
+
+
+COUNT = 13
+KEY = 0102030405060708090a
+OFFSET = 2048
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = d9a09cea3ce75fe39698070317a71339
+
+
+COUNT = 14
+KEY = 0102030405060708090a
+OFFSET = 3056
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 552225ed1177f44584ac8cfa6c4eb5fc
+
+
+COUNT = 15
+KEY = 0102030405060708090a
+OFFSET = 3072
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 7e82cbabfc95381b080998442129c2f8
+
+
+COUNT = 16
+KEY = 0102030405060708090a
+OFFSET = 4080
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 1f135ed14ce60a91369d2322bef25e3c
+
+
+COUNT = 17
+KEY = 0102030405060708090a
+OFFSET = 4096
+PLAINTEXT = 00000000000000000000000000000000
+CIPHERTEXT = 08b6be45124a43e2eb77953f84dc8553