Для нижеприведенного набора данных последний столбец - это некая контрольная сумма. Нужно определить по какому алгоритму она считается. Данные в шестнадцатиричном виде, пробелы в самих данных не имеют значения для суммы, просто разделяют логические группы. Других коротких посылок, а так же посылок произвольной длинны/содержания получить не удается.
Из последних строк видно, что характерной особенностью алгоритма является то, что сумма для посылок из 2-3 байт вычисляется по формуле 0xffff - sum(data).
Помогите определить алгоритм, пожалуйста.
CODE
24 0abaf900 0b 030800ffffffff07 f7 eb f625
24 aef9f900 0b 030800ffffffff07 f7 ec 50e6
24 5339fa00 0b 030800ffffffff07 f6 e8 afa7
24 f778fa00 0b 030800ffffffff07 f1 ec 076d
24 b8266101 0b 030800ffffffff07 f7 ea e1b9
24 eb13d50b 12 020025 f1 ec 3ba8
24 9920d50b 12 020026 f0 ec 8e9a
24 4d2dd50b 12 020027 f0 ec da8c
24 f539d50b 12 020028 f1 ec 317f
24 a346d50b 12 020029 f4 ec 8071
24 5253d50b 12 02002a f1 ec d463
24 0160d50b 12 02002b f4 ec 2256
24 b06cd50b 12 02002c f1 ec 7648
24 5f79d50b 12 02002d f1 ec c73a
24 0e86d50b 12 02002e ef eb 1a2e
24 bc92d50b 12 02002f ef ec 6c1f
24 6b9fd50b 12 020030 ef ec bd11
24 38acd50b 12 020031 f1 ec ee03
24 e8b8d50b 12 020032 f0 ec 3ef6
24 97c5d50b 12 020033 f0 ec 8fe8
24 4ad2d50b 12 020034 ef ec ddda
24 f5ded50b 12 020035 f1 ec 30cd
24 a4ebd50b 12 020036 f1 ec 81bf
24 51f8d50b 12 020037 f1 ec d4b1
24 fd04d60b 12 020038 f1 eb 28a5
24 ac11d60b 12 020039 ef ec 7b96
24 5c1ed60b 12 02003a f1 ec c988
4e 006f0000990100812200 43c0
4e 000100f8ff3f ff78
4e 001207322e332e302e38 6dd2
5c 0023 ff80
5c 0024 ff7f
5c 0025 ff7e
5c 0000 ffa3
5c 0051 ff52
27 00 ffd8