diff --git a/tests/hazmat/primitives/test_hkdf_vectors.py b/tests/hazmat/primitives/test_hkdf_vectors.py
index d2ac79a..5af4c14 100644
--- a/tests/hazmat/primitives/test_hkdf_vectors.py
+++ b/tests/hazmat/primitives/test_hkdf_vectors.py
@@ -20,7 +20,7 @@
 from cryptography.hazmat.primitives import hashes
 
 from .utils import generate_hkdf_test
-from ...utils import load_hkdf_vectors
+from ...utils import load_nist_vectors
 
 
 @pytest.mark.supported(
@@ -30,7 +30,7 @@
 @pytest.mark.hash
 class TestHKDFSHA1(object):
     test_HKDFSHA1 = generate_hkdf_test(
-        load_hkdf_vectors,
+        load_nist_vectors,
         os.path.join("KDF"),
         ["rfc-5869-HKDF-SHA1.txt"],
         hashes.SHA1()
@@ -44,7 +44,7 @@
 @pytest.mark.hash
 class TestHKDFSHA256(object):
     test_HKDFSHA1 = generate_hkdf_test(
-        load_hkdf_vectors,
+        load_nist_vectors,
         os.path.join("KDF"),
         ["rfc-5869-HKDF-SHA256.txt"],
         hashes.SHA256()
diff --git a/tests/hazmat/primitives/utils.py b/tests/hazmat/primitives/utils.py
index 963838e..9e9088a 100644
--- a/tests/hazmat/primitives/utils.py
+++ b/tests/hazmat/primitives/utils.py
@@ -306,45 +306,39 @@
 
 
 def hkdf_derive_test(backend, algorithm, params):
-    ikm, salt, info, length, prk, expected_okm = params
-
     okm = hkdf_derive(
-        binascii.unhexlify(ikm),
-        length,
-        binascii.unhexlify(salt),
-        binascii.unhexlify(info),
+        binascii.unhexlify(params["ikm"]),
+        int(params["l"]),
+        binascii.unhexlify(params["salt"]),
+        binascii.unhexlify(params["info"]),
         algorithm,
         backend=backend
     )
 
-    assert binascii.hexlify(okm) == expected_okm
+    assert okm == binascii.unhexlify(params["okm"])
 
 
 def hkdf_extract_test(backend, algorithm, params):
-    ikm, salt, info, length, expected_prk, okm = params
-
     prk = hkdf_extract(
         algorithm,
-        binascii.unhexlify(ikm),
-        binascii.unhexlify(salt),
+        binascii.unhexlify(params["ikm"]),
+        binascii.unhexlify(params["salt"]),
         backend=backend
     )
 
-    assert prk == binascii.unhexlify(expected_prk)
+    assert prk == binascii.unhexlify(params["prk"])
 
 
 def hkdf_expand_test(backend, algorithm, params):
-    ikm, salt, info, length, prk, expected_okm = params
-
     okm = hkdf_expand(
         algorithm,
-        binascii.unhexlify(prk),
-        binascii.unhexlify(info),
-        length,
+        binascii.unhexlify(params["prk"]),
+        binascii.unhexlify(params["info"]),
+        int(params["l"]),
         backend=backend
     )
 
-    assert okm == binascii.unhexlify(expected_okm)
+    assert okm == binascii.unhexlify(params["okm"])
 
 
 def generate_hkdf_test(param_loader, path, file_names, algorithm):
