Random number generator, sistemin entropy değerine göre sayı üretiyor. Entropy değeri küçükse önce entropy'yi yükseltip daha sonra sayı üretiyor. Bu arada; entropy, zaman, klavye ve mouse hareketleri, sıcaklı vb etmenlere göre oluşuyor. Aşağıdaki komutu kullanarak entropy'nin değerini görebilirsiniz.
cat /proc/sys/kernel/random/entropy_avail
Linux'taki rngd/rng-tools servisi bu değerin her zaman yüksek olmasını sağlıyor.
--------------------------------------------------------------------------------
RHEL ve türevi sistemlerde aşağıdaki komut ile bu servisi kurabilirsiniz
yum install rng-tools
Debian ve türevi sistemlerde aşağıdaki komut ile bu servisi kurabilirsiniz
apt-get install rng-tools
--------------------------------------------------------------------------------
RHEL ve türevi sistemlerde aşağıdaki komut ile servisi başlatabilirsiniz.
service rngd start
Debian ve türevi sistemlerde aşağıdaki komut ile servisi başlatabilirsiniz.
service rng-tools start
Starting rngd: can’t open entropy source(tpm or intel/amd rng)
Maybe RNG device modules are not loaded
[FAILED]
RHEL ve türevi sistemlerde yukarıdaki gibi bir hata alıyorsanız ve servis başlamıyorsa "/etc/sysconfig/rngd" dosyasında aşağıdaki satırı ekleyiniz.
EXTRAOPTIONS=”-r /dev/urandom”
--------------------------------------------------------------------------------
/etc/init.d/rng-tools: Cannot find a hardware RNG device to use.
HRNGDEVICE=/dev/urandom
--------------------------------------------------------------------------------
cat /proc/sys/kernel/random/entropy_avail
Çözümün oluşturulmasında faydalanılan 2 sayfayı aşağıda yazıyorum.
http://stackoverflow.com/questions/137212/how-to-solve-performance-problem-with-java-securerandom
http://my.itwnik.com/2012/04/how-to-increase-linux-kernel-entropy/