73 lines
2.8 KiB
Diff
73 lines
2.8 KiB
Diff
|
From 0ce5ef52839237b852e75ab5f11121beedd7eca1 Mon Sep 17 00:00:00 2001
|
||
|
From: Ingo Tuchscherer <ingo.tuchscherer@linux.vnet.ibm.com>
|
||
|
Date: Tue, 11 Mar 2014 16:42:26 +0100
|
||
|
Subject: [PATCH] AES_CCM: fixed 64/31 bit compatibility
|
||
|
|
||
|
Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@linux.vnet.ibm.com>
|
||
|
---
|
||
|
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
|
||
|
|