summaryrefslogtreecommitdiff
path: root/lib/libcrypto/aes/aes_ctr.c
diff options
context:
space:
mode:
authorDamien Miller <djm@cvs.openbsd.org>2005-04-29 05:39:34 +0000
committerDamien Miller <djm@cvs.openbsd.org>2005-04-29 05:39:34 +0000
commit96d1d9b6e08bc96e9e2ca66809e78057a7ad7715 (patch)
tree3c21c706afbaf02026085e88634587633cdae96a /lib/libcrypto/aes/aes_ctr.c
parentccd50423df222a7b368ec130192398b49e23114a (diff)
resolve conflicts
Diffstat (limited to 'lib/libcrypto/aes/aes_ctr.c')
-rw-r--r--lib/libcrypto/aes/aes_ctr.c35
1 files changed, 5 insertions, 30 deletions
diff --git a/lib/libcrypto/aes/aes_ctr.c b/lib/libcrypto/aes/aes_ctr.c
index 79e1c18f193..f36982be1e2 100644
--- a/lib/libcrypto/aes/aes_ctr.c
+++ b/lib/libcrypto/aes/aes_ctr.c
@@ -59,7 +59,7 @@
#include <openssl/aes.h>
#include "aes_locl.h"
-/* NOTE: CTR mode is big-endian. The rest of the AES code
+/* NOTE: the IV/counter CTR mode is big-endian. The rest of the AES code
* is endian-neutral. */
/* increment counter (128-bit int) by 1 */
@@ -67,61 +67,36 @@ static void AES_ctr128_inc(unsigned char *counter) {
unsigned long c;
/* Grab bottom dword of counter and increment */
-#ifdef L_ENDIAN
- c = GETU32(counter + 0);
- c++;
- PUTU32(counter + 0, c);
-#else
c = GETU32(counter + 12);
- c++;
+ c++; c &= 0xFFFFFFFF;
PUTU32(counter + 12, c);
-#endif
/* if no overflow, we're done */
if (c)
return;
/* Grab 1st dword of counter and increment */
-#ifdef L_ENDIAN
- c = GETU32(counter + 4);
- c++;
- PUTU32(counter + 4, c);
-#else
c = GETU32(counter + 8);
- c++;
+ c++; c &= 0xFFFFFFFF;
PUTU32(counter + 8, c);
-#endif
/* if no overflow, we're done */
if (c)
return;
/* Grab 2nd dword of counter and increment */
-#ifdef L_ENDIAN
- c = GETU32(counter + 8);
- c++;
- PUTU32(counter + 8, c);
-#else
c = GETU32(counter + 4);
- c++;
+ c++; c &= 0xFFFFFFFF;
PUTU32(counter + 4, c);
-#endif
/* if no overflow, we're done */
if (c)
return;
/* Grab top dword of counter and increment */
-#ifdef L_ENDIAN
- c = GETU32(counter + 12);
- c++;
- PUTU32(counter + 12, c);
-#else
c = GETU32(counter + 0);
- c++;
+ c++; c &= 0xFFFFFFFF;
PUTU32(counter + 0, c);
-#endif
-
}
/* The input encrypted as though 128bit counter mode is being