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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.