Hashing algorithm

A project log for CLEFS - Custom Lightweight Embedded File System

A "Data Store" for embedded and read-intensive applications.

yann-guidon-ygdesYann Guidon / YGDES 03/03/2024 at 17:490 Comments

These last years I have worked on #PEAC Pisano with End-Around Carry algorithm which is very versatile and fast. It provides a number of algorithms with decent mixing and fast computation. It is not crypto-resistant but very adapted to embedded or high performance.

PEAC16x2 is a good starting point with 32 or 33 bits of signature, is suitable for small volumes, tens of thousands of files with low probability of collision. It is roughly equivalent to CRC32.

I have identified m=741454 (square root) and m=999999 for a slightly larger signature, scanning is slightly slower but mixing is significantly improved.

For longer signatures, w26 is equivalent to CRC52.