From: Iceman Date: Mon, 26 Jun 2017 19:49:21 +0000 (+0200) Subject: Update crapto1.c X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/commitdiff_plain/12f283833bc2a5c5ea62bdad3927d7f90ef49125?ds=sidebyside Update crapto1.c Add nonce validation --- diff --git a/common/crapto1/crapto1.c b/common/crapto1/crapto1.c index 9398a1f3..fe6eb0f6 100644 --- a/common/crapto1/crapto1.c +++ b/common/crapto1/crapto1.c @@ -425,6 +425,17 @@ int nonce_distance(uint32_t from, uint32_t to) } return (65535 + dist[to >> 16] - dist[from >> 16]) % 65535; } +/** validate_prng_nonce + * Determine if nonce is deterministic. ie: Suspectable to Darkside attack. + * returns + * true = weak prng + * false = hardend prng + */ +bool validate_prng_nonce(uint32_t nonce) { + // init prng table: + nonce_distance(nonce, nonce); + return ((65535 - dist[nonce >> 16] + dist[nonce & 0xffff]) % 65535) == 16; +} static uint32_t fastfwd[2][8] = {