Name | Cycles | Status |
---|---|---|
dakarand | 2061453928 | questionable |
historand | 188315 | barely secure |
getrandom | 35204 | disqualified |
Runtime is extremely variable. My current approach is to do 9 runs and pick the median result. Good enough for now. If necessary, I can always do more runs to reduce noise levels.
Dakarand is a C port of Dan Kaminsky's 4 lines of Javascript. Rather slow and the return value has a bit less than 8 bits of entropy. If you change millis to micros for a 1000x speedup, entropy drops to maybe 4 bits. Overall not great, but the simplicity is still admirable.
Historand is a reasonably obvious evolution of Dakarand. Much faster, can return more than 8 bits of entropy, but lacks the beautiful simplicity.
Getrandom is calling getrandom(2), which is violating the rules. It mostly serves as a reference point for performance.