From: Scott A Crosby <scrosby@cs.rice.edu>
To: "David S. Miller" <davem@redhat.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Algoritmic Complexity Attacks and 2.4.20 the dcache code
Date: 30 May 2003 01:46:12 -0500 [thread overview]
Message-ID: <oydof1l2aq3.fsf@bert.cs.rice.edu> (raw)
In-Reply-To: <20030529.232440.122068039.davem@redhat.com>
On Thu, 29 May 2003 23:24:40 -0700 (PDT), "David S. Miller" <davem@redhat.com> writes:
> From: Scott A Crosby <scrosby@cs.rice.edu>
> Date: 30 May 2003 00:04:24 -0500
>
> Have you seen the current dcache function?
>
> /* Linux dcache */
> #define HASH_3(hi,ho,c) ho=(hi + (c << 4) + (c >> 4)) * 11
>
> Awesome, moving the Jenkins will actually save us some
> cycles :-)
Tricky though, because what if you want to hash more than 64 bits? You
have to somehow chain Jenkin's together.
Let H(a,b,c) be a jenkin's hash that does '' mix(a,b,c) ; return a ''
Let a,b,c,d,e be inputs to be hashed, and R,S,T,U be random keys.
Its not safe to do anything like
H(H(a,b,c),H(d,e,f),R)
Because an attacker can brute-force to find tuples (a,b,c),
(a',b',c'), ... so that H(a,b,c) == H(a',b',c') == ....
A better approach (which I make with no formal analysis of its
quality) might be to construct this:
H(a,b,R) ^ H(c,d,S) ^ H(e,f,T)
Perhaps the best approach is to visit Usenix Security 2003 this August
and ask the experts there.
Scott
next prev parent reply other threads:[~2003-05-30 6:33 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-29 20:42 Algoritmic Complexity Attacks and 2.4.20 the dcache code Scott A Crosby
2003-05-30 3:57 ` David S. Miller
2003-05-30 4:29 ` Ingo Molnar
2003-05-30 18:16 ` Timothy Miller
2003-05-30 18:53 ` Scott A Crosby
2003-05-30 5:04 ` Scott A Crosby
2003-05-30 6:24 ` David S. Miller
2003-05-30 6:46 ` Scott A Crosby [this message]
2003-05-30 6:56 ` David S. Miller
2003-05-30 8:59 ` Alex Riesen
2003-05-30 9:00 ` David S. Miller
2003-05-30 15:05 ` Scott A Crosby
2003-05-31 6:18 ` David S. Miller
2003-05-31 8:02 ` Willy TARREAU
2003-05-31 8:12 ` David S. Miller
2003-05-31 8:56 ` Willy Tarreau
2003-05-31 8:58 ` David S. Miller
2003-05-31 8:58 ` David Schwartz
2003-05-31 9:01 ` David S. Miller
2003-05-31 6:30 ` William Lee Irwin III
2003-05-31 6:33 ` David S. Miller
2003-05-31 6:41 ` William Lee Irwin III
2003-05-31 6:45 ` David S. Miller
2003-05-31 18:40 ` Aaron Lehmann
2003-05-30 4:02 ` Ingo Molnar
2003-05-30 4:42 ` Scott A Crosby
2003-05-30 5:01 ` David S. Miller
2003-05-30 13:48 ` Nikita Danilov
2003-06-01 1:15 ` Daniel Phillips
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=oydof1l2aq3.fsf@bert.cs.rice.edu \
--to=scrosby@cs.rice.edu \
--cc=davem@redhat.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox