[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <p73y7lh316u.fsf@bingen.suse.de>
Date: 28 Mar 2007 16:14:17 +0200
From: Andi Kleen <andi@...stfloor.org>
To: Evgeniy Polyakov <johnpol@....mipt.ru>
Cc: nikb@...master.com, netdev@...r.kernel.org
Subject: Re: RFC: Established connections hash function
Evgeniy Polyakov <johnpol@....mipt.ru> writes:
>
> Jenkins hash is far from being simple to crack, although with some
> knowledge it can be done faster.
TCP tends to be initialized early before there is anything
good in the entropy pool.
static void init_std_data(struct entropy_store *r)
{
struct timeval tv;
unsigned long flags;
spin_lock_irqsave(&r->lock, flags);
r->entropy_count = 0;
spin_unlock_irqrestore(&r->lock, flags);
do_gettimeofday(&tv);
add_entropy_words(r, (__u32 *)&tv, sizeof(tv)/4);
add_entropy_words(r, (__u32 *)utsname(),
sizeof(*(utsname()))/4);
}
utsname is useless here because it runs before user space has
a chance to set it. The only truly variable thing is the
boot time, which can be guessed with the ns part being brute forced.
To make it secure you would need to do regular rehash like
the routing cache which would pick up true randomness on the first
rehash.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists