1
$\begingroup$

I have such requirements to the hash function in my project:

  • operating on 32-bit data,
  • not mathematically breakable (built on existing hashes known to be secure),
  • free of branching,
  • as much as possible, free of repetitive rounds and rotations,
  • long enough to require a huge number of gates on the ASIC.

The idea is to make efficient hash focused on GPU units, and not prospective for ASICs implementation.

(Skein-256 almost seems to fit these requirements?)

$\endgroup$
  • $\begingroup$ free of repetitive rounds? have fun with that requirement.... Look into Fugue, it has minimal rotation $\endgroup$ – Richie Frame Feb 10 '14 at 9:39
  • $\begingroup$ right, 'free' is not fortunate word here, let say: less than usuall, $\endgroup$ – user11909 Feb 10 '14 at 11:38
  • $\begingroup$ The idea is to make efficient hash focused on GPU units, and not prospective for ASICs implementation. $\endgroup$ – user11909 Feb 10 '14 at 11:48
  • $\begingroup$ I like Blake since it is slow on ASIC compared to CPU, and the rotations are mostly on a byte boundary. It can also be modified to use a massive amount of round constants, unique to each round. I would be interested in seeing how changing XOR to + in the compression function effects security, as it would slow ASIC down even more. $\endgroup$ – Richie Frame Feb 12 '14 at 9:43
  • $\begingroup$ If my memory suits me right, Skein uses at least 80 rounds of Threefish. That's not "less than usual", let alone free of rounds. $\endgroup$ – Maarten Bodewes Feb 12 '14 at 14:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.