From: vmakarov@... Date: 2016-12-09T18:48:00+00:00 Subject: [ruby-core:78562] [Ruby trunk Feature#13017] Switch SipHash from SipHash24 to SipHash13 Issue #13017 has been updated by Vladimir Makarov. Since we removed recently the code switching weak/strong hashes, the speed of the strong hash (siphash24) became important. According to my measurements on i7-4790K, Switching from siphash24 to siphash13 improves MRI hash table benchmarks by about 2.4% (siphash14 results in 0.7% increase). So I am in favor of this patch. As for the security, it is more important to keep the seed secret and to change it for each MRI run. Best crypto-analisys for the final round of siphash consisting of 4 compressing steps is a distinguisher of complexity 2^35 to differ the final round function from a pseudo-random function. Siphash-13 has at least 4 compressing steps. IMHO such complexity makes no sense for a collision attack for one instance of running MRI. ---------------------------------------- Feature #13017: Switch SipHash from SipHash24 to SipHash13 https://bugs.ruby-lang.org/issues/13017#change-61945 * Author: Yura Sokolov * Status: Open * Priority: Normal * Assignee: ---------------------------------------- SipHash13 is secure enough to be used in hash-tables, and SipHash's author confirms that. Rust already considered switch to SipHash13: https://github.com/rust-lang/rust/issues/29754#issue-116174313 Jean-Philippe Aumasson confirmation: https://github.com/rust-lang/rust/issues/29754#issuecomment-156073946 Merged pull request: https://github.com/rust-lang/rust/pull/33940 Github pull request https://github.com/ruby/ruby/pull/1501 ---Files-------------------------------- 0001-switch-SipHash-from-SipHash24-to-SipHash13-variant.patch (3.25 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: