Random Number Generation for Cryptography

The int random(int max) and int random(int min, int max) functions are implemented like this. Just rename and replace the inner call to rand() (the built-in pseudo random number generator) with a call to HAL_RNG_GetRandomNumber().

int random(int max)
{
  if (0 == max) {
    return 0;
  }
  return rand() % max;
}

int random(int min, int max)
{
  if (min >= max) {
    return min;
  }
  return random(max - min) + min;
}
1 Like