|
@@ -1,7 +1,7 @@
|
|
|
from binascii import hexlify, unhexlify
|
|
|
|
|
|
from ..crypto.low_level import AES256_CTR_HMAC_SHA256, AES256_OCB, CHACHA20_POLY1305, UNENCRYPTED, \
|
|
|
- IntegrityError, blake2b_128, blake2b_256, hmac_sha256, is_libressl
|
|
|
+ IntegrityError, blake2b_128, blake2b_256, is_libressl
|
|
|
from ..crypto.low_level import bytes_to_long, bytes_to_int, long_to_bytes
|
|
|
from ..crypto.low_level import hkdf_hmac_sha512
|
|
|
|
|
@@ -177,32 +177,6 @@ class CryptoTestCase(BaseTestCase):
|
|
|
self.assert_raises(IntegrityError,
|
|
|
lambda: cs.decrypt(hdr_mac_iv_cdata_corrupted))
|
|
|
|
|
|
- def test_hmac_sha256(self):
|
|
|
- # RFC 4231 test vectors
|
|
|
- key = b'\x0b' * 20
|
|
|
- # Also test that this works with memory views
|
|
|
- data = memoryview(unhexlify('4869205468657265'))
|
|
|
- hmac = unhexlify('b0344c61d8db38535ca8afceaf0bf12b'
|
|
|
- '881dc200c9833da726e9376c2e32cff7')
|
|
|
- assert hmac_sha256(key, data) == hmac
|
|
|
- key = unhexlify('4a656665')
|
|
|
- data = unhexlify('7768617420646f2079612077616e7420'
|
|
|
- '666f72206e6f7468696e673f')
|
|
|
- hmac = unhexlify('5bdcc146bf60754e6a042426089575c7'
|
|
|
- '5a003f089d2739839dec58b964ec3843')
|
|
|
- assert hmac_sha256(key, data) == hmac
|
|
|
- key = b'\xaa' * 20
|
|
|
- data = b'\xdd' * 50
|
|
|
- hmac = unhexlify('773ea91e36800e46854db8ebd09181a7'
|
|
|
- '2959098b3ef8c122d9635514ced565fe')
|
|
|
- assert hmac_sha256(key, data) == hmac
|
|
|
- key = unhexlify('0102030405060708090a0b0c0d0e0f10'
|
|
|
- '111213141516171819')
|
|
|
- data = b'\xcd' * 50
|
|
|
- hmac = unhexlify('82558a389a443c0ea4cc819899f2083a'
|
|
|
- '85f0faa3e578f8077a2e3ff46729665b')
|
|
|
- assert hmac_sha256(key, data) == hmac
|
|
|
-
|
|
|
def test_blake2b_256(self):
|
|
|
# In BLAKE2 the output length actually is part of the hashes personality - it is *not* simple truncation like in
|
|
|
# the SHA-2 family. Therefore we need to generate test vectors ourselves (as is true for most applications that
|