ADD: @micolous random nonce, adjusted to fit in. Icemanfork only uses Moebius attack, so no need for an extra parameter in client.

ref: https://github.com/Proxmark/proxmark3/pull/209
This commit is contained in:
iceman1001 2017-01-26 14:21:51 +01:00
commit bf5d7992ce
8 changed files with 90 additions and 28 deletions

19
common/random.c Normal file
View file

@ -0,0 +1,19 @@
#include "random.h"
static uint64_t next_random = 1;
/* Generates a (non-cryptographically secure) 32-bit random number.
*
* We don't have an implementation of the "rand" function. Instead we use a
* method of seeding with the time it took to call "autoseed" from first run.
*
* https://github.com/Proxmark/proxmark3/pull/209/commits/f9c1dcd9f6e68a8c07cffed697a9c4c8caed6015
*/
uint32_t prand() {
if (next_random == 1)
next_random = GetTickCount();
next_random = next_random * 6364136223846793005 + 1;
return (uint32_t)(next_random >> 32) % 0xffffffff;
}