summaryrefslogtreecommitdiffstats
path: root/crypto/aes/aes_locl.h
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2002-02-16 12:20:34 +0000
committerRichard Levitte <levitte@openssl.org>2002-02-16 12:20:34 +0000
commit97879bcd57aa72555c624ae04b91159212c125d7 (patch)
treeb9b8747c4cce372db4cea3a2db03f0059714274e /crypto/aes/aes_locl.h
parentab1dee1efc39f7e18487323663d073e7a48ebeaf (diff)
Add the modes OFB128, CFB128 and CTR128 to AES.
Submitted by Stephen Sprunk <stephen@sprunk.org>
Diffstat (limited to 'crypto/aes/aes_locl.h')
-rw-r--r--crypto/aes/aes_locl.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/crypto/aes/aes_locl.h b/crypto/aes/aes_locl.h
index d49e829933..541d1d6e84 100644
--- a/crypto/aes/aes_locl.h
+++ b/crypto/aes/aes_locl.h
@@ -1,6 +1,6 @@
/* crypto/aes/aes.h -*- mode:C; c-file-style: "eay" -*- */
/* ====================================================================
- * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
+ * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -65,6 +65,15 @@
#include <string.h>
#endif
+#ifdef _MSC_VER
+# define SWAP(x) (_lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00)
+# define GETU32(p) SWAP(*((u32 *)(p)))
+# define PUTU32(ct, st) { *((u32 *)(ct)) = SWAP((st)); }
+#else
+# define GETU32(pt) (((u32)(pt)[0] << 24) ^ ((u32)(pt)[1] << 16) ^ ((u32)(pt)[2] << 8) ^ ((u32)(pt)[3]))
+# define PUTU32(ct, st) { (ct)[0] = (u8)((st) >> 24); (ct)[1] = (u8)((st) >> 16); (ct)[2] = (u8)((st) >> 8); (ct)[3] = (u8)(st); }
+#endif
+
typedef unsigned long u32;
typedef unsigned short u16;
typedef unsigned char u8;