Entropy estimation tool

This high performance tool outputs on demand of its input: These outputs are useful to test the randomness of a source of entropy.

Use

#entropy estimation test
entropy 1 input

#standard deviation test
entropy 2 input

#frequency test
entropy 5 input
gnuplot -e "plot 'entropy.freq' with lines" -p

#gaussian distribution test
entropy 7 input
gnuplot -e "plot 'entropy.gaus' with lines" -p

#frequency and gaussian distribution tests
entropy 9 input
gnuplot -e "plot 'entropy.freq' with lines" -p
gnuplot -e "plot 'entropy.gaus' with lines" -p

Install

#ncomputers.org/debian
apt-get install entropy
#makefile as su
make install

Compile

g++ -O3 -std=c++11 entropy.cpp -o entropy

Experimental purposes

g++ -O3 -std=c++11 entropy.cpp -o entropy-08 -D Bits=8
g++ -O3 -std=c++11 entropy.cpp -o entropy-32 -D Bits=32

Sample output

SizeEntropyMinMedMax
1M15.9076770823
2M15.95438811637
4M15.977415103262
8M15.9887173664110
16M15.99436183128175
32M15.997176186256330
64M15.998602407512605
128M15.99930090010241159
256M15.999649185220482237
512M15.999824381140964383
1G15.999912779981928589
2G15.999956157911638416992
4G15.999978320383276833494
8G15.999989644486553666623
16G15.999995129571131072132551
32G15.999997259881262144264277
64G15.999999521129524288527409
128G15.999999104429110485761052872
256G16.000000209100420971522103918
512G16.000000418564541943044204292