4 ms·
It seems to be a tool that generates instructions for building hash functions, then evaluates the hash functions to see how good they are. The goal metric has b
by tommiegannert 2y ago
It seems to be a tool that generates instructions for building hash functions, then evaluates the hash functions to see how good they are. The goal metric has been chosen to be that as many output bits as possible should change as randomly as possible with every changed input bit.
It outputs C code for the best hash function it generated.
So it's useful if you want a hash function, and don't think any of the existing ones are good enough. Or if you're researching hash functions, and want new ideas for structures.
Cool? Well, generating code is cool. Doing it randomly is a first step towards genetic programming, which would be even cooler. ... and making computers burn CPU cycles computing (mostly unused) hashes seems to be something we humans want to do since around 15 years ago.
- eru 2y ago> [...] making computers burn CPU cycles computing (mostly unused) hashes seems to be something we humans want to do since around 15 years ago. Keep in mind that there's a big difference between cryptographic hash functions and the kind of hash functions investigated here.
- baq 2y agoYeah notably examples are given with their inverse functions. I’m pretty sure you don’t want that in a crypto hash ;)
- keepamovin 2y agoHaha! :) No, not overall, but you do want reversible steps in a crypto hash as Reversible steps make better mixing functions, Because you’re not losing information so you avoid iteratively diminishing that information leading to a smaller state space, and more state collisions.