aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/crypto/siphash24.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/crypto/siphash24.c44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/crypto/siphash24.c b/src/crypto/siphash24.c
index 1d3865a..d841894 100644
--- a/src/crypto/siphash24.c
+++ b/src/crypto/siphash24.c
@@ -4,7 +4,7 @@
#include <linux/kernel.h>
-#define ROTL(x,b) (uint64_t)(((x) << (b)) | ((x) >> (64 - (b))))
+#define ROTL(x,b) (u64)(((x) << (b)) | ((x) >> (64 - (b))))
#define U8TO64(p) le64_to_cpu(*(__le64 *)(p))
#define SIPROUND \
@@ -16,24 +16,24 @@
} while(0)
__attribute__((optimize("unroll-loops")))
-uint64_t siphash24(const uint8_t *data, size_t len, const uint8_t key[SIPHASH24_KEY_LEN])
+u64 siphash24(const u8 *data, size_t len, const u8 key[SIPHASH24_KEY_LEN])
{
- uint64_t v0 = 0x736f6d6570736575ULL;
- uint64_t v1 = 0x646f72616e646f6dULL;
- uint64_t v2 = 0x6c7967656e657261ULL;
- uint64_t v3 = 0x7465646279746573ULL;
- uint64_t b;
- uint64_t k0 = U8TO64(key);
- uint64_t k1 = U8TO64(key + sizeof(uint64_t));
- uint64_t m;
- const uint8_t *end = data + len - (len % sizeof(uint64_t));
- const uint8_t left = len & (sizeof(uint64_t) - 1);
- b = ((uint64_t)len) << 56;
+ u64 v0 = 0x736f6d6570736575ULL;
+ u64 v1 = 0x646f72616e646f6dULL;
+ u64 v2 = 0x6c7967656e657261ULL;
+ u64 v3 = 0x7465646279746573ULL;
+ u64 b;
+ u64 k0 = U8TO64(key);
+ u64 k1 = U8TO64(key + sizeof(u64));
+ u64 m;
+ const u8 *end = data + len - (len % sizeof(u64));
+ const u8 left = len & (sizeof(u64) - 1);
+ b = ((u64)len) << 56;
v3 ^= k1;
v2 ^= k0;
v1 ^= k1;
v0 ^= k0;
- for (; data != end; data += sizeof(uint64_t)) {
+ for (; data != end; data += sizeof(u64)) {
m = U8TO64(data);
v3 ^= m;
SIPROUND;
@@ -41,13 +41,13 @@ uint64_t siphash24(const uint8_t *data, size_t len, const uint8_t key[SIPHASH24_
v0 ^= m;
}
switch (left) {
- case 7: b |= ((uint64_t)data[6]) << 48;
- case 6: b |= ((uint64_t)data[5]) << 40;
- case 5: b |= ((uint64_t)data[4]) << 32;
- case 4: b |= ((uint64_t)data[3]) << 24;
- case 3: b |= ((uint64_t)data[2]) << 16;
- case 2: b |= ((uint64_t)data[1]) << 8;
- case 1: b |= ((uint64_t)data[0]); break;
+ case 7: b |= ((u64)data[6]) << 48;
+ case 6: b |= ((u64)data[5]) << 40;
+ case 5: b |= ((u64)data[4]) << 32;
+ case 4: b |= ((u64)data[3]) << 24;
+ case 3: b |= ((u64)data[2]) << 16;
+ case 2: b |= ((u64)data[1]) << 8;
+ case 1: b |= ((u64)data[0]); break;
case 0: break;
}
v3 ^= b;
@@ -60,7 +60,7 @@ uint64_t siphash24(const uint8_t *data, size_t len, const uint8_t key[SIPHASH24_
SIPROUND;
SIPROUND;
b = (v0 ^ v1) ^ (v2 ^ v3);
- return (__force uint64_t)cpu_to_le64(b);
+ return (__force u64)cpu_to_le64(b);
}
#include "../selftest/siphash24.h"