make sure sizes are in sync

This commit is contained in:
Thomas Waldmann 2016-08-29 20:36:32 +02:00
parent fb85d6abdc
commit d88c0765e7
1 changed files with 6 additions and 5 deletions

View File

@ -199,14 +199,14 @@ cdef class AES256_CTR_HMAC_SHA256:
cdef int cipher_blk_len
cdef int iv_len, iv_len_short
cdef int mac_len
cdef unsigned char iv[16] # XXX use self.iv_len or some MAX_IV_LEN?
cdef unsigned char iv[16]
cdef long long blocks
def __init__(self, mac_key, enc_key, iv=None):
assert isinstance(mac_key, bytes) and len(mac_key) == 32
assert isinstance(enc_key, bytes) and len(enc_key) == 32
self.cipher_blk_len = 16
self.iv_len = 16
self.iv_len = sizeof(self.iv)
self.iv_len_short = 8
self.mac_len = 32
self.mac_key = mac_key
@ -286,7 +286,8 @@ cdef class AES256_CTR_HMAC_SHA256:
raise MemoryError
cdef int olen
cdef int offset
cdef unsigned char hmac_buf[32] # XXX use self.mac_len or some MAX_HMAC_LEN?
cdef unsigned char hmac_buf[32]
assert sizeof(hmac_buf) == self.mac_len
cdef Py_buffer idata = ro_buffer(envelope)
try:
if not HMAC_Init_ex(self.hmac_ctx, self.mac_key, self.mac_len, EVP_sha256(), NULL):
@ -356,13 +357,13 @@ cdef class _AEAD_BASE:
cdef int cipher_blk_len
cdef int iv_len
cdef int mac_len
cdef unsigned char iv[12] # XXX use self.iv_len or some MAX_IV_LEN?
cdef unsigned char iv[12]
cdef long long blocks
def __init__(self, mac_key, enc_key, iv=None):
assert mac_key is None
assert isinstance(enc_key, bytes) and len(enc_key) == 32
self.iv_len = 12
self.iv_len = sizeof(self.iv)
self.mac_len = 16
self.enc_key = enc_key
if iv is not None: