33

Meow Hash

 5 years ago
source link: https://www.tuicool.com/articles/hit/32AJ73U
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Note that no matter which you call, you should get the same result —  they are not different hash functions, just different implementations of the same Meow hash function that uses different CPU register sizes.Again, no CPUs currently in existence support VAES, so MeowHash2 and MeowHash4 will crash with illegal instruction errors if you try to run them without a simulator or some kind of fancy prototype silicon.

How not to use it

The Meow hash was designed for very specific scenarios. There are a number of reasons not to use it: •

Never use the Meow hash for anything involving cryptography unless you are a cryptographer and know exactly what you are doing. The Meow hash was not designed for cryptography and has no cryptographic security proofs or analysis whatsoever.

Don’t use the Meow hash for tiny inputs. The minimum block size for the Meow hash is 256 bytes, so if you’re feeding it 8 byte data, 16 byte data, etc., it’s going to waste all of its time padding the input, and you could have gotten much better performance by using a different type of hash.

Don’t base a system on the Meow hash if your deployment plan involves non-AES-capable CPUs. Modern ARM and x64 cores usually have the AES instructions necessary to implement a Meow hash at high speed, but other CPUs might not. CPUs that don’t have AES instructions will be quite slow at running the Meow hash, so you do not want to use it in deployments that expect to use primarily non-AES-enabled CPU cores.

Comments welcome

The Meow hash is still in alpha form. We would love to get feedback on people who can test it on their datasets, especially if you find any collisions or other problems with the hash quality. Please post issues on the GitHub as you find them!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK