From 0ce5ef52839237b852e75ab5f11121beedd7eca1 Mon Sep 17 00:00:00 2001 From: Ingo Tuchscherer Date: Tue, 11 Mar 2014 16:42:26 +0100 Subject: [PATCH] AES_CCM: fixed 64/31 bit compatibility Signed-off-by: Ingo Tuchscherer --- src/ica_api.c | 2 +- src/s390_ccm.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ica_api.c b/src/ica_api.c index 4939675..7649e4c 100644 --- a/src/ica_api.c +++ b/src/ica_api.c @@ -248,7 +248,7 @@ static unsigned int check_ccm_parms(unsigned long payload_length, * is only limited by the value range of its data type unsigned long * and need no further checking */ if ((nonce_length > S390_CCM_MIN_NONCE_LENGTH) && - (payload_length > ((1ul << (8*(15-nonce_length)))))) + (payload_length > ((1ull << (8*(15-nonce_length)))))) return EINVAL; if (mac == NULL) diff --git a/src/s390_ccm.c b/src/s390_ccm.c index 1503ea9..f61dc30 100644 --- a/src/s390_ccm.c +++ b/src/s390_ccm.c @@ -68,7 +68,7 @@ static inline unsigned int fc_to_key_length(unsigned int function_code) static inline void __compute_meta_b0(const unsigned char *nonce, unsigned long nonce_length, unsigned long assoc_data_length, - unsigned long payload_length, + uint64_t payload_length, unsigned long mac_length, unsigned char *meta_b0) { @@ -122,7 +122,7 @@ static inline void __compute_initial_ctr(const unsigned char *nonce, static inline unsigned int __auth_assoc_data(unsigned int function_code, const unsigned char *assoc_data, - unsigned long assoc_data_length, + uint64_t assoc_data_length, const unsigned char *key, unsigned int key_length, unsigned char *iv) @@ -138,11 +138,11 @@ static inline unsigned int __auth_assoc_data(unsigned int function_code, unsigned long tail_length; /* preparing first block of assoc_data */ - if (assoc_data_length < ((1ul << 16)-(1ul << 8))) { + if (assoc_data_length < ((1ull << 16)-(1ull << 8))) { meta.small.length = assoc_data_length; meta_data = meta.small.data; meta_data_length = sizeof(meta.small.data); - } else if (assoc_data_length < (1ul << 32)) { + } else if (assoc_data_length < (1ull << 32)) { meta.medium.prefix[0] = 0xff; meta.medium.prefix[1] = 0xfe; meta.medium.length = assoc_data_length; @@ -213,7 +213,7 @@ static inline unsigned int __auth_assoc_data(unsigned int function_code, static unsigned int s390_ccm_authenticate(unsigned int function_code, const unsigned char *payload, - unsigned long payload_length, + uint64_t payload_length, const unsigned char *assoc_data, unsigned long assoc_data_length, const unsigned char *nonce, -- 1.8.5.3