I analyzed some EEPROM SPI memory and tried to figure out which verification algorithm was used;
For example, I have data: 14567D9h and a checksum of 187 hours. Assuming this is a regular 16-bit checksum, I have 86h - no matches, but after adding 101h it magically changes to 391h
Another example: 8ADh and a B5h checksum with this is normal - results with a 16-bit checksum with the exact number: B5h (perfect match)
I tested it with 28 samples that I was able to intercept. For some values, I have to add 101h to the checksum, and for some it is only necessary to summarize.
Parity is not suitable - if you want, I can share some more data - all of them are collected in one excel file and calculated. After several days of brainstorming with my friend, we came up with nothing: /
Maybe there is some additional part in the Algorithm that I have not yet discovered? CRC and tons of other algorithms have been tested - only a 16-bit checksum gave any encouraging results Thank you for your help!
copy of my spreadsheet: https://drive.google.com/file/d/0B2FO0-Y1n-ySMUZ2VTVkME9tdm8/view?usp=sharing
source share