zfs icon indicating copy to clipboard operation
zfs copied to clipboard

falkhash is faster than blake3, and useful for rootfs checksums function

Open osevan opened this issue 3 years ago • 4 comments

Here is some test runs:

https://billatnapier.medium.com/falkhash-exotic-probably-shitty-hash-makes-me-smile-df1bbe2469dd

Github

https://github.com/gamozolabs/falkhash

But meow hash is according author 10% faster than falkhash, but its written in cpp:

https://github.com/cmuratori/meow_hash

And here according research paper faster than meow and falkhash:

https://github.com/jbapple/HalftimeHash

Pdf: https://arxiv.org/pdf/2104.08865

Thanks and

Best regards

osevan avatar Aug 01 '22 23:08 osevan

So, while it undoubtedly is probably a stronger hash, I do wonder if those AES rounds with AES-NI are comparably as fast as the SSE/AVX accelerated fletcher 4 checksums, which do not have to rebase (unlike say the adler32 checksum).

KungFuJesus avatar Aug 02 '22 00:08 KungFuJesus

It seems that meow and SHAMATA-256 are also this type of AES-NI hashing. They both got some Cryptanalysis, which seem not okay for our use case:

Edit: also the length should be at least 256 bits

mcmilk avatar Aug 02 '22 08:08 mcmilk

It seems that meow and SHAMATA-256 are also this type of AES-NI hashing. They both got some Cryptanalysis, which seem not okay for our use case:

* [Cryptanalysis for MEOW](https://peter.website/meow-hash-cryptanalysis)

* [Cryptanalysis for SHAMATA-256](https://link.springer.com/content/pdf/10.1007/978-3-642-05445-7_1.pdf)

Edit: also the length should be at least 256 bits

But, i think falkhash is useful.

Btw, it is still recommended fletcher to use in rootfs, or, can we use blake3 for rootfs too?

osevan avatar Aug 02 '22 08:08 osevan

It's not even in a stable release yet, so it's not really recommended for anyone to use for anything other than testing.

rincebrain avatar Aug 02 '22 16:08 rincebrain

BLAKE3 should be tested currently. It has to settle down a bit and when it's considered stable - it will be put into some release also. Wether you use it for some rootfs is your decision.

@behlendorf - I think this issue can be closed, because falkhash should be defined first, and when this is done, it should have some cryptanalysis .... when this is done, it could become some new issue.

mcmilk avatar Aug 17 '22 06:08 mcmilk