Take the 2-minute tour ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

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?)

share|improve this question
    
free of repetitive rounds? have fun with that requirement.... Look into Fugue, it has minimal rotation –  Richie Frame Feb 10 at 9:39
    
right, 'free' is not fortunate word here, let say: less than usuall, –  user11909 Feb 10 at 11:38
    
The idea is to make efficient hash focused on GPU units, and not prospective for ASICs implementation. –  user11909 Feb 10 at 11:48
    
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. –  Richie Frame Feb 12 at 9:43
    
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. –  owlstead Feb 12 at 14:42

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.