entropy_avail não indica o número de bits disponíveis em /dev/random . Indica a estimativa de entropia do kernel no estado RNG que energiza /dev/random . Essa estimativa de entropia é uma quantidade bastante sem sentido, matematicamente falando; mas o Linux bloqueia /dev/random se a estimativa de entropia for muito baixa.
Um programa lendo /dev/random bloqueia até que o valor em /proc/sys/kernel/random/entropy_avail seja maior que /proc/sys/kernel/random/read_wakeup_threshold . A leitura de /dev/random consome entropia à taxa de 8 bits por byte.
Mas, de qualquer forma, você não deveria estar usando /dev/random . Você deve estar usando /dev/urandom , que é tão seguro, inclusive para gerar chaves criptográficas , e que não bloqueia. Gerar números aleatórios não consome entropia: uma vez que o sistema tenha entropia suficiente, é bom para a vida do universo. O sistema operacional salva uma semente de RNG em um arquivo, portanto, uma vez que o sistema tenha entropia suficiente, ele terá entropia suficiente, mesmo após a reinicialização.
Os únicos casos em que /dev/urandom não é seguro estão em um sistema recém-instalado inicializando pela primeira vez, em um sistema ativo que acabou de ser inicializado (então, gerar chaves criptográficas de um sistema ativo não é uma boa idéia!) ou em um dispositivo incorporado recém-inicializado que não tenha um RNG de hardware ou memória persistente. Em tais sistemas, aguarde até que /dev/random concorde em liberar 16 bytes para garantir que o pool de entropia esteja configurado. Então use /dev/urandom .