#include "crapto1.h"
#include <stdlib.h>
-#define SWAPENDIAN(x)\
- (x = (x >> 8 & 0xff00ff) | (x & 0xff00ff) << 8, x = x >> 16 | x << 16)
-
void crypto1_create(struct Crypto1State *s, uint64_t key)
{
// struct Crypto1State *s = malloc(sizeof(*s));
s->odd = s->odd << 1 | BIT(key, (i - 1) ^ 7);
s->even = s->even << 1 | BIT(key, i ^ 7);
}
- return;
}
void crypto1_destroy(struct Crypto1State *state)
{
return SWAPENDIAN(x);
}
+
+uint32_t prng_successor_one(uint32_t x)
+{
+ SWAPENDIAN(x);
+
+ x = x >> 1 | (x >> 16 ^ x >> 18 ^ x >> 19 ^ x >> 21) << 31;
+
+ return SWAPENDIAN(x);
+}
+