I need to extract an 8 byte digest from a variable length string so I'm looking for such an algorithm that I will implement in c/c++. That will be part of a digital signature procedure on a microcontroller, so it has to be:
- writable in few lines of code, since the firmware has to be kept as little as possible;
- low in resource consumption, expecially ram (preferably less than 100 bytes);
- strong enough that changing a single character at any point of the string would change the overall digest.
I took a look at existing algorithms such as crc64 but they seems to be too heavy for my platform.