[openssl-dev] use SIPhash for OPENSSL_LH_strhash?

Richard Levitte levitte at openssl.org
Tue Jan 10 21:55:18 UTC 2017



Benjamin Kaduk <bkaduk at akamai.com> skrev: (10 januari 2017 20:19:21 CET)
>On 01/10/2017 12:31 PM, Richard Levitte wrote:
>>
>> Benjamin Kaduk <bkaduk at akamai.com> skrev: (10 januari 2017 18:48:32
>CET)
>>> On 01/09/2017 10:05 PM, Salz, Rich wrote:
>>>> Should we move to using SIPHash for the default string hashing
>>>> function in OpenSSL?  It’s now in the kernel
>>>> https://lkml.org/lkml/2017/1/9/619
>>>>
>>> Heck, yes!
>>> -Ben
>> I fail to see what that would give us. OPENSSL_LH_strhash() is used
>to get a reasonable index for LHASH entries. Also SIPhash gives at
>least 64 bits results, do we really expect to see large enough hash
>tables to warrant that? 
>>
>
>We don't need to use the full output width of a good hash function.
>
>My main point is, "why would we want to ignore the last 20 years of
>advancement in hash function research?"  Section 7 of the siphash paper
>(https://131002.net/siphash/siphash.pdf) explicitly talks about using
>it
>for hash tables, including using hash table indices H(m) mod l.

I agree with the advice when one can expect huge tables. The tables we handle are pretty small (I think, please correct me if I'm wrong) and would in all likelihood not benefit very much if at all from SIPhash's relative safety. 

Of course, one can ask the question if someone uses LHASH as a general purpose hash table implementation rather than just for the stuff OpenSSL. Frankly, I would probably look at a dedicated hash table library first... 

Cheers 
Richard 
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.


More information about the openssl-dev mailing list