summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarel Miko <karel.miko@gmail.com>2023-10-02 16:54:26 +0200
committerKarel Miko <karel.miko@gmail.com>2023-10-02 16:54:26 +0200
commit5e9065be07ede22ffb5ead67bab435ecbe858b47 (patch)
tree595fdd72ec7ea73f8d194e24338d6699325c688b
parent8ac88f6e58f9c6d91a0d92e1780812e8dea5245d (diff)
limtomcrypt patch: Ensure that AES key is always correctly aligned (2)
-rw-r--r--src/ltc/ciphers/aes/aes.c2
-rw-r--r--src/ltc/ciphers/aes/aesni.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/ltc/ciphers/aes/aes.c b/src/ltc/ciphers/aes/aes.c
index 54c5872c..b584902a 100644
--- a/src/ltc/ciphers/aes/aes.c
+++ b/src/ltc/ciphers/aes/aes.c
@@ -113,7 +113,7 @@ int SETUP(const unsigned char *key, int keylen, int num_rounds, symmetric_key *s
}
skey->rijndael.Nr = 10 + ((keylen/8)-2)*2;
- K = (void*)((unsigned long)&skey->rijndael.K[15] & (~0xFuL));
+ K = (void*)((((ulong64)&skey->rijndael.K[15]) >> 4) << 4);
skey->rijndael.eK = (ulong32*)K;
K += (60 * sizeof(ulong32));
skey->rijndael.dK = (ulong32*)K;
diff --git a/src/ltc/ciphers/aes/aesni.c b/src/ltc/ciphers/aes/aesni.c
index eefb19e8..f5dafa40 100644
--- a/src/ltc/ciphers/aes/aesni.c
+++ b/src/ltc/ciphers/aes/aesni.c
@@ -61,7 +61,7 @@ int aesni_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_
}
skey->rijndael.Nr = keylen / 4 + 6;
- K = (void*)((unsigned long)&skey->rijndael.K[15] & (~0xFuL));
+ K = (void*)((((ulong64)&skey->rijndael.K[15]) >> 4) << 4);
skey->rijndael.eK = (ulong32*)K;
K += (60 * sizeof(ulong32));
skey->rijndael.dK = (ulong32*)K;