Messages in this thread |  | | Date | Fri, 30 May 2003 06:29:13 +0200 (CEST) | From | Ingo Molnar <> | Subject | Re: Algoritmic Complexity Attacks and 2.4.20 the dcache code |
| |
On 29 May 2003, David S. Miller wrote:
> > I highly advise using a universal hashing library, either our own or > > someone elses. As is historically seen, it is very easy to make silly > > mistakes when attempting to implement your own 'secure' algorithm. > > Why are you recommending this when after 2 days of going back > and forth in emails with me you came to the conclusion that for > performance critical paths such as the hashes in the kernel the Jenkins > hash was an acceptable choice? > > It is unacceptably costly to use a universal hash, it makes a multiply > operation for every byte of key input plus a modulo operation at the end > of the hash computation. All of which can be extremely expensive on > some architectures. > > I showed and backed this up for you with benchmarks comparing your > universal hashing code and Jenkins.
i'd suggest to use the jhash for the following additional kernel entities: pagecache hash, inode hash, vcache hash.
the buffer-cache hash and the pidhash should be hard (impossible?) to attack locally.
Ingo
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |