|
BugTraq
Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 03:06PM Eric Rescorla (ekr networkresonance com) (2 replies) RE: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 12 2008 08:55AM Clausen, Martin (DK - Copenhagen) (mclausen deloitte dk) (2 replies) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 12 2008 02:42PM Ben Laurie (benl google com) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 12 2008 01:31PM Ben Laurie (benl google com) RE: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 04:31PM Dave Korn (dave korn artimi com) (2 replies) RE: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 05:04PM Leichter, Jerry (leichter_jerrold emc com) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 04:57PM Eric Rescorla (ekr networkresonance com) (4 replies) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 05:49PM pgut001 cs auckland ac nz (Peter Gutmann) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 05:43PM Dan Kaminsky (dan doxpara com) (3 replies) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 10:29PM Stefan Kanthak (stefan kanthak nexgo de) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 06:20PM Eric Rescorla (ekr networkresonance com) (3 replies) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 09:28PM Florian Weimer (fw deneb enyo de) key blacklisting & file size (was: OpenID/Debian PRNG/DNS Cache poisoning advisory) Aug 08 2008 08:04PM Solar Designer (solar openwall com) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 07:33PM Nicolas Williams (Nicolas Williams sun com) (1 replies) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 07:52PM Leichter, Jerry (leichter_jerrold emc com) (1 replies) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 05:11PM Ben Laurie (benl google com) (1 replies) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 06:08PM Perry E. Metzger (perry piermont com) (1 replies) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 06:47PM Nicolas Williams (Nicolas Williams sun com) (1 replies) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 07:35PM Paul Hoffman (paul hoffman vpnc org) (1 replies) Re: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 08:08PM Nicolas Williams (Nicolas Williams sun com) RE: OpenID/Debian PRNG/DNS Cache poisoning advisory Aug 08 2008 05:08PM Dave Korn (dave korn artimi com) |
|
Privacy Statement |
Leichter, Jerry wrote:
>
> | > > Funnily enough I was just working on this -- and found that we'd
> | > > end up adding a couple megabytes to every browser. #DEFINE
> | > > NONSTARTER. I am curious about the feasibility of a large bloom
> | > > filter that fails back to online checking though. This has side
> | > > effects but perhaps they can be made statistically very unlikely,
> | > > without blowing out the size of a browser.
> | > Why do you say a couple of megabytes? 99% of the value would be
> | > 1024-bit RSA keys. There are ~32,000 such keys. If you devote an
> | > 80-bit hash to each one (which is easily large enough to give you a
> | > vanishingly small false positive probability; you could probably get
> | > away with 64 bits), that's 320KB. Given that the smallest Firefox
> | > [...]
> You can get by with a lot less than 64 bits. People see problems like
> this and immediately think "birthday paradox", but there is no "birthday
> paradox" here: You aren't look for pairs in an ever-growing set,
> you're looking for matches against a fixed set. If you use 30-bit
> hashes - giving you about a 120KB table - the chance that any given
> key happens to hash to something in the table is one in a billion,
> now and forever. (Of course, if you use a given key repeatedly, and
> it happens to be that 1 in a billion, it will hit every time. So an
> additional table of "known good keys that happen to collide" is worth
> maintaining. Even if you somehow built and maintained that table for
> all the keys across all the systems in the world - how big would it
> get, if only 1 in a billion keys world-wide got entered?)
I don't believe your math is correct here. Or rather, it would
be correct if there was only one bad key.
Remember, there are N bad keys and you're using a b-bit hash,
which has 2^b distinct values. If you put N' entries in the
hash table, the probability that a new key will have the
same digest as one of them is N'/(2^b). If b is sufficiently
large to make collisions rare, then N'=~N and we get
N/(2^b).
To be concrete, we have 2^15 distinct keys, so, the
probability of a false positive becomes (2^15)/(2^b)=2^(b-15).
To get that probability below 1 billion, b+15 >= 30, so
you need about 45 bits. I chose 64 because it seemed to me
that a false positive probability of 2^{-48} or so was better.
-Ekr
[ reply ]