tests: consistently give iv_int to ciphersuite

This commit is contained in:
Thomas Waldmann 2022-03-19 00:30:19 +01:00
parent 6c7b499d3f
commit 6f2c587080

View file

@ -92,9 +92,9 @@ class CryptoTestCase(BaseTestCase):
def test_AE(self):
# used in legacy-like layout (1 type byte, no aad)
key = b'X' * 32
iv = 0
iv_int = 0
data = b'foo' * 10
header = b'\x23' + iv.to_bytes(12, 'big')
header = b'\x23' + iv_int.to_bytes(12, 'big')
tests = [
# (ciphersuite class, exp_mac, exp_cdata)
]
@ -110,7 +110,7 @@ class CryptoTestCase(BaseTestCase):
for cs_cls, exp_mac, exp_cdata in tests:
# print(repr(cs_cls))
# encrypt/mac
cs = cs_cls(key, iv, header_len=len(header), aad_offset=1)
cs = cs_cls(key, iv_int, header_len=len(header), aad_offset=1)
hdr_mac_iv_cdata = cs.encrypt(data, header=header)
hdr = hdr_mac_iv_cdata[0:1]
iv = hdr_mac_iv_cdata[1:13]
@ -122,12 +122,12 @@ class CryptoTestCase(BaseTestCase):
self.assert_equal(hexlify(cdata), exp_cdata)
self.assert_equal(cs.next_iv(), 1)
# auth/decrypt
cs = cs_cls(key, header_len=len(header), aad_offset=1)
cs = cs_cls(key, iv_int, header_len=len(header), aad_offset=1)
pdata = cs.decrypt(hdr_mac_iv_cdata)
self.assert_equal(data, pdata)
self.assert_equal(cs.next_iv(), 1)
# auth-failure due to corruption (corrupted data)
cs = cs_cls(key, header_len=len(header), aad_offset=1)
cs = cs_cls(key, iv_int, header_len=len(header), aad_offset=1)
hdr_mac_iv_cdata_corrupted = hdr_mac_iv_cdata[:29] + b'\0' + hdr_mac_iv_cdata[30:]
self.assert_raises(IntegrityError,
lambda: cs.decrypt(hdr_mac_iv_cdata_corrupted))
@ -135,9 +135,9 @@ class CryptoTestCase(BaseTestCase):
def test_AEAD(self):
# test with aad
key = b'X' * 32
iv = 0
iv_int = 0
data = b'foo' * 10
header = b'\x12\x34\x56' + iv.to_bytes(12, 'big')
header = b'\x12\x34\x56' + iv_int.to_bytes(12, 'big')
tests = [
# (ciphersuite class, exp_mac, exp_cdata)
]
@ -153,7 +153,7 @@ class CryptoTestCase(BaseTestCase):
for cs_cls, exp_mac, exp_cdata in tests:
# print(repr(cs_cls))
# encrypt/mac
cs = cs_cls(key, iv, header_len=len(header), aad_offset=1)
cs = cs_cls(key, iv_int, header_len=len(header), aad_offset=1)
hdr_mac_iv_cdata = cs.encrypt(data, header=header)
hdr = hdr_mac_iv_cdata[0:3]
iv = hdr_mac_iv_cdata[3:15]
@ -165,12 +165,12 @@ class CryptoTestCase(BaseTestCase):
self.assert_equal(hexlify(cdata), exp_cdata)
self.assert_equal(cs.next_iv(), 1)
# auth/decrypt
cs = cs_cls(key, header_len=len(header), aad_offset=1)
cs = cs_cls(key, iv_int, header_len=len(header), aad_offset=1)
pdata = cs.decrypt(hdr_mac_iv_cdata)
self.assert_equal(data, pdata)
self.assert_equal(cs.next_iv(), 1)
# auth-failure due to corruption (corrupted aad)
cs = cs_cls(key, header_len=len(header), aad_offset=1)
cs = cs_cls(key, iv_int, header_len=len(header), aad_offset=1)
hdr_mac_iv_cdata_corrupted = hdr_mac_iv_cdata[:1] + b'\0' + hdr_mac_iv_cdata[2:]
self.assert_raises(IntegrityError,
lambda: cs.decrypt(hdr_mac_iv_cdata_corrupted))