]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/crypto1.c
FIX: how to break a working thing by being blind...
[proxmark3-svn] / armsrc / crypto1.c
index b218af19e0d14ce88afdee5af571ceddd96345dd..68cb9b4e54064b22d849fa70ae2de748454d8761 100644 (file)
@@ -20,7 +20,6 @@
 #include "crapto1.h"
 #include <stdlib.h>
 
 #include "crapto1.h"
 #include <stdlib.h>
 
-
 void crypto1_create(struct Crypto1State *s, uint64_t key)
 {
 //     struct Crypto1State *s = malloc(sizeof(*s));
 void crypto1_create(struct Crypto1State *s, uint64_t key)
 {
 //     struct Crypto1State *s = malloc(sizeof(*s));
@@ -30,7 +29,6 @@ void crypto1_create(struct Crypto1State *s, uint64_t key)
                s->odd  = s->odd  << 1 | BIT(key, (i - 1) ^ 7);
                s->even = s->even << 1 | BIT(key, i ^ 7);
        }
                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)
 {
 }
 void crypto1_destroy(struct Crypto1State *state)
 {
@@ -143,3 +141,13 @@ uint32_t prng_successor(uint32_t x, uint32_t n)
 
        return SWAPENDIAN(x);
 }
 
        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);
+}
+
Impressum, Datenschutz