diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2013-10-21 15:40:12 -0700 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2013-10-21 15:40:12 -0700 |
commit | 9f79164a8d7d5004884b455d07c2ab1b111d037e (patch) | |
tree | 535c2ddadea2bcffa5f99372d1cde65b91d4778b /tests/test_utils.py | |
parent | ef2f91e6fe694be91ce3a0a37ebaf58d89bb5985 (diff) | |
parent | c160079df8dd021b6b1e8091025ba27ddc6cd6c0 (diff) | |
download | cryptography-9f79164a8d7d5004884b455d07c2ab1b111d037e.tar.gz cryptography-9f79164a8d7d5004884b455d07c2ab1b111d037e.tar.bz2 cryptography-9f79164a8d7d5004884b455d07c2ab1b111d037e.zip |
Merge branch 'master' into triple-des
Diffstat (limited to 'tests/test_utils.py')
-rw-r--r-- | tests/test_utils.py | 72 |
1 files changed, 71 insertions, 1 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py index 28e7407b..3fe9e570 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -13,9 +13,12 @@ import textwrap +import pytest + from .utils import (load_nist_vectors, load_nist_vectors_from_file, load_cryptrec_vectors, load_cryptrec_vectors_from_file, - load_openssl_vectors, load_openssl_vectors_from_file) + load_openssl_vectors, load_openssl_vectors_from_file, load_hash_vectors, + load_hash_vectors_from_file) def test_load_nist_vectors_encrypt(): @@ -266,6 +269,20 @@ def test_load_cryptrec_vectors(): ] +def test_load_cryptrec_vectors_invalid(): + vector_data = textwrap.dedent(""" + # Vectors taken from http://info.isl.ntt.co.jp/crypt/eng/camellia/ + # Download is t_camelia.txt + + # Camellia with 128-bit key + + E No.001 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + """).splitlines() + + with pytest.raises(ValueError): + load_cryptrec_vectors(vector_data) + + def test_load_cryptrec_vectors_from_file_encrypt(): test_set = load_cryptrec_vectors_from_file( "Camellia/NTT/camellia-128-ecb.txt" @@ -360,3 +377,56 @@ def test_load_openssl_vectors_from_file(): "ciphertext": b"D776379BE0E50825E681DA1A4C980E8E", }, ] + + +def test_load_hash_vectors(): + vector_data = textwrap.dedent(""" + + # http://tools.ietf.org/html/rfc1321 + [irrelevant] + + Len = 0 + Msg = 00 + MD = d41d8cd98f00b204e9800998ecf8427e + + Len = 8 + Msg = 61 + MD = 0cc175b9c0f1b6a831c399e269772661 + + Len = 24 + Msg = 616263 + MD = 900150983cd24fb0d6963f7d28e17f72 + + Len = 112 + Msg = 6d65737361676520646967657374 + MD = f96b697d7cb7938d525a2f31aaf161d0 + """).splitlines() + assert load_hash_vectors(vector_data) == [ + (b"", "d41d8cd98f00b204e9800998ecf8427e"), + (b"61", "0cc175b9c0f1b6a831c399e269772661"), + (b"616263", "900150983cd24fb0d6963f7d28e17f72"), + (b"6d65737361676520646967657374", "f96b697d7cb7938d525a2f31aaf161d0"), + ] + + +def test_load_hash_vectors_bad_data(): + vector_data = textwrap.dedent(""" + # http://tools.ietf.org/html/rfc1321 + + Len = 0 + Msg = 00 + UNKNOWN=Hello World + """).splitlines() + with pytest.raises(ValueError): + load_hash_vectors(vector_data) + + +def test_load_hash_vectors_from_file(): + test_list = load_hash_vectors_from_file("RFC/MD5/rfc-1321.txt") + assert len(test_list) == 7 + assert test_list[:4] == [ + (b"", "d41d8cd98f00b204e9800998ecf8427e"), + (b"61", "0cc175b9c0f1b6a831c399e269772661"), + (b"616263", "900150983cd24fb0d6963f7d28e17f72"), + (b"6d65737361676520646967657374", "f96b697d7cb7938d525a2f31aaf161d0"), + ] |