dakami
Joined 16 years ago
Joined 16 years ago
Then I found out it fragments badly, and nobody can figure out how to write a defragmenter. So, uh, keep the FS below 60-80% full apparently.
Yeah.
#/usr/bin/python
from random import *
count=0
def get_bit():
global count
count+=1
if (count%2)==0:
return random()<0.9
else:
return False
def get_fair_bit(): while 1:
a=get_bit()
b=get_bit()
if a!=b: return a
while 1: print get_fair_bit()
I'm wondering how often this one shows up the field -- my interest here comes from the ~1% failure rate of RSA keys in the field because manufacturers actually will not install hardware RNG or externally inject key material. Field vulnerability trumps religion. It looks like you need a really stateful vuln -- something akin to "a 1 is always followed by a 0 due to power drain" wouldn't be enough because the number of 0's is still acceptably unbound.I know there are debiasers that look at statistics across a group. Wonder what else is out there.
In other words:
0000000000000001 000000001 001
...are all interchangeable. So biases can change all day.
There are _other_ issues I've seen in real world data, but not this one.
The bitflipping I was exploring involved matching the CPU clock (nanosecond scale) with the real time clock (millisecond scale). This of course has some risk because the OS can easily implement the latter with the former. And in fact, in this implementation, that's actually what happens -- he's measuring the number of bit flips at nanosecond accuracy. Output is distinguishable from PRNG, as seen elsewhere.
If I remember right somebody did break my "Defcon Challenge" with Firefox.
https://twitter.com/dakami/status/884715382061252608
Yeah. Ethereum blew up and all that compute is going towards GPU Mining.