On Tue, Feb 20, 2007 at 05:08:12PM +0100, Eric Dumazet ([EMAIL PROTECTED]) wrote: > > Adding XOR with constant value does not change distribution. > > Variable salt will end up with differnet buckets for the same flow. > > It is forbidden - it is not the situation created for passwd/des decades > > ago. > > Adding a random hint to jhash (random value picked at boot time, not known by > attacker) permits to have a secure hash table : An attacker cannot build an > attack to fill one particular hash chain. > > See net/ipv4/route.c (function rt_hash_code()) to see how its used for route > cache.
It is secrecy, not security - attacker will check the source and find where constant per-boot value is added and recalculate attack vector - we all were college students, it would be even more fun to crack. In that regard Jenkins ahsh and XOR one have _exactly_ the same attack vector, only Jenkins is a bit more sophisticated. I even think that example in rt_hash_code() will endup with heavy problems when one of the addresses is constant - my tests show problem exactly in the case of jhash_2words() with random third parameter and constant one of the first like in rt_hash_code(). -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html