]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/crapto1.h
CHG: added a check if err variable is NIL.
[proxmark3-svn] / armsrc / crapto1.h
index 9262b956c29c2723e113ca3633223d4761222472..54d66c28c42b764b428287e10f759b862b8d23a8 100644 (file)
@@ -32,6 +32,7 @@ uint8_t crypto1_bit(struct Crypto1State*, uint8_t, int);
 uint8_t crypto1_byte(struct Crypto1State*, uint8_t, int);
 uint32_t crypto1_word(struct Crypto1State*, uint32_t, int);
 uint32_t prng_successor(uint32_t x, uint32_t n);
 uint8_t crypto1_byte(struct Crypto1State*, uint8_t, int);
 uint32_t crypto1_word(struct Crypto1State*, uint32_t, int);
 uint32_t prng_successor(uint32_t x, uint32_t n);
+uint32_t prng_successor_one(uint32_t x);
 
 struct Crypto1State* lfsr_recovery32(uint32_t ks2, uint32_t in);
 struct Crypto1State* lfsr_recovery64(uint32_t ks2, uint32_t ks3);
 
 struct Crypto1State* lfsr_recovery32(uint32_t ks2, uint32_t in);
 struct Crypto1State* lfsr_recovery64(uint32_t ks2, uint32_t ks3);
@@ -69,9 +70,9 @@ static inline int parity(uint32_t x)
        return BIT(0x6996, x & 0xf);
 #else
        __asm__(        "movl %1, %%eax\n"
        return BIT(0x6996, x & 0xf);
 #else
        __asm__(        "movl %1, %%eax\n"
-               "mov %%ax, %%cx\n"
-               "shrl $0x10, %%eax\n"
-               "xor %%ax, %%cx\n"
+                               "mov %%ax, %%cx\n"
+                               "shrl $0x10, %%eax\n"
+                               "xor %%ax, %%cx\n"
                 "xor %%ch, %%cl\n"
                 "setpo %%al\n"
                 "movzx %%al, %0\n": "=r"(x) : "r"(x): "eax","ecx");
                 "xor %%ch, %%cl\n"
                 "setpo %%al\n"
                 "movzx %%al, %0\n": "=r"(x) : "r"(x): "eax","ecx");
Impressum, Datenschutz