aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/primitives/test_hash_vectors.py
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2016-08-29 09:36:09 +0800
committerAlex Gaynor <alex.gaynor@gmail.com>2016-08-28 21:36:09 -0400
commit306ce512a28cdba29adf98125d894b90bb6bd78b (patch)
tree369dd5e4ea6b99638f2750e9f4873439f9545551 /tests/hazmat/primitives/test_hash_vectors.py
parentd6871fe568983b46a3b688c3222289357a7f56cd (diff)
downloadcryptography-306ce512a28cdba29adf98125d894b90bb6bd78b.tar.gz
cryptography-306ce512a28cdba29adf98125d894b90bb6bd78b.tar.bz2
cryptography-306ce512a28cdba29adf98125d894b90bb6bd78b.zip
blake2b/blake2s support (#3116)
* blake2b/blake2s support Doesn't support keying, personalization, salting, or tree hashes so the API is pretty simple right now. * implement digest_size via utils.read_only_property * un-keyed for spelling's sake * test copying + digest_size checks * unkeyed is too a word * line wrap * reword the docs * use the evp algorithm name in the error This will make BLAKE2 alternate digest size errors a bit less confusing * add changelog entry and docs about supported digest_size
Diffstat (limited to 'tests/hazmat/primitives/test_hash_vectors.py')
-rw-r--r--tests/hazmat/primitives/test_hash_vectors.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/hazmat/primitives/test_hash_vectors.py b/tests/hazmat/primitives/test_hash_vectors.py
index c6e98283..8757df24 100644
--- a/tests/hazmat/primitives/test_hash_vectors.py
+++ b/tests/hazmat/primitives/test_hash_vectors.py
@@ -158,3 +158,37 @@ class TestMD5(object):
],
hashes.MD5(),
)
+
+
+@pytest.mark.supported(
+ only_if=lambda backend: backend.hash_supported(
+ hashes.BLAKE2b(digest_size=64)),
+ skip_message="Does not support BLAKE2b",
+)
+@pytest.mark.requires_backend_interface(interface=HashBackend)
+class TestBLAKE2b(object):
+ test_b2b = generate_hash_test(
+ load_hash_vectors,
+ os.path.join("hashes", "blake2"),
+ [
+ "blake2b.txt",
+ ],
+ hashes.BLAKE2b(digest_size=64),
+ )
+
+
+@pytest.mark.supported(
+ only_if=lambda backend: backend.hash_supported(
+ hashes.BLAKE2s(digest_size=32)),
+ skip_message="Does not support BLAKE2s",
+)
+@pytest.mark.requires_backend_interface(interface=HashBackend)
+class TestBLAKE2s256(object):
+ test_b2s = generate_hash_test(
+ load_hash_vectors,
+ os.path.join("hashes", "blake2"),
+ [
+ "blake2s.txt",
+ ],
+ hashes.BLAKE2s(digest_size=32),
+ )