4

I've been analyzing some SPI EEPROM memory, and tried to find out which Checksum algorithm has been used;

For example I've got data: 14567D9h and checksum 187h. Assuming it's normal 16 bit check sum I've got 86h - no match, but after adding 101h it magically changes to 391h

Another Example: 8ADh and check sum B5h with this one is normal - 16 bit checksum results with exact number: B5h (perfect match)

I've checked it with 28 samples i was able to intercept. For some values i have to add 101h to checksum and for some it is only needed to sum it up.

Parity check doesn't fit - if you want I can share some more data - all gathered in one excel file, and calculated. After few days of brainstorm with my friend we haven't come up with anything :/

Maybe there is some additional part in the Algorithm, which i haven't found out yet? CRC and tonnes of other algorithms were checked - only 16 bit checksum was giving any promising results Thanks for help in advance!

copy of my spreadsheet: https://drive.google.com/file/d/0B2FO0-Y1n-ySMUZ2VTVkME9tdm8/view?usp=sharing

1 Answers1

1

From what I know, CRC is used for files to help identify file' corruption. The size of the CRC is fixed while the size of the file is not, and the file' size is much bigger.

In other word, the CRC is not reversible simply because it is a many-to-one relation.

Mr. M
  • 62
  • 1
  • 15