[Haskell-cafe] Password hashing
Brandon S. Allbery KF8NH
allbery at ece.cmu.edu
Thu Oct 30 21:42:56 EDT 2008
On 2008 Oct 30, at 8:43, Martijn van Steenbergen wrote:
> roger peppe wrote:
>> if you're prepared to expend a few cpu cycles, you can always
>> use something like the following "beating clocks" algorithm, which
>> should generate
>> at least some genuine randomness, as long as you've got preemptive
>> scheduling, and a few hardware interrupts around the place.
> I was taught that using the scheduler to generate randomness is a
> pretty bad idea, because randomness is actually a *very* strong
> property to demand from a stream of bits, and a scheduler doesn't
> offer any such guarantees.
There's quite a body of research about cracking such schemes; note for
example that "hyperthreading" quietly dropped off the radar after
someone demonstrated they could snoop on any crypto algorithm running
in one hyperthread from the other.
In general, if you think you've come up with a good randomness or
encryption scheme on your own, back away from the keyboard and don't
come back until you're ready to use an existing well-understood scheme
--- even the experts make mistakes in this area, and most "neat" new
ideas" turn out to be trivially unraveled.
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university KF8NH
More information about the Haskell-Cafe