use OpenSSL's RAND_bytes() instead of glibc's rand()