mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2024-11-10 17:49:32 +08:00
CHG: testing a prng_successor_one method
This commit is contained in:
parent
a1689f417f
commit
ee97a92adb
2 changed files with 10 additions and 0 deletions
|
@ -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);
|
||||
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);
|
||||
|
|
|
@ -141,3 +141,12 @@ uint32_t prng_successor(uint32_t x, uint32_t n)
|
|||
|
||||
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);
|
||||
}
|
Loading…
Reference in a new issue