Jak zgadnąć algorytm sumy kontrolnej?

Załóżmy, że na końcu mam niektóre pakiety z 16-bitową sumą kontrolną. Chciałbym zgadnąć, który algorytm sumy kontrolnej jest używany.

Na początek, z danych zrzutu widzę, że zmiana jednego bajtu w ładunku pakietu całkowicie zmienia sumę kontrolną, więc mogę założyć, że nie jest to zwykły XOR lub suma.

Potem spróbowałemkilka odmian CRC16, ale bez większego szczęścia.

To pytanie może być bardziej ukierunkowane na kryptografię, ale naprawdę interesuje mnie każde łatwe do zrozumienia narzędzie statystyczne, aby dowiedzieć się, które CRC to może być. Może nawet się odwrócęrysowanie różnych algorytmów CRC jeśli wszystko inne zawiedzie.

Backgroud story: Mam szeregowy protokół RFID z jakąś sumą kontrolną. Mogę odtwarzać wiadomości bez problemu i interpretować wyniki (bez sprawdzania sumy kontrolnej), ale nie mogę wysłać zmodyfikowanych pakietów, ponieważ urządzenie upuszcza je na podłogę.

Korzystając z istniejącego oprogramowania, mogę zmienić ładunek chipa RFID. Jednak unikalny numer seryjny jest niezmienny, więc nie mam możliwości sprawdzenia każdej możliwej kombinacji. Chociaż mogłem generować zrzuty wartości rosnących o jeden, ale nie na tyle, aby przeprowadzić wyczerpujące wyszukiwanie mające zastosowanie do tego problemu.

zrzuć pliki z danymi są dostępne, jeśli samo pytanie nie wystarczy :-)

Potrzebujesz dokumentacji referencyjnej? BEZBARWNY PRZEWODNIK ALGORYTMÓW WYKRYWANIA BŁĘDÓW CRC to świetna referencja, którą znalazłem po zadaniu pytania tutaj.

W końcu, po bardzo pomocnej wskazówce w zaakceptowanej odpowiedzi, to jest to CCITTużyłem tego kalkulatora CRCi xored wygenerował sumę kontrolną ze znaną sumą kontrolną, aby uzyskać 0xffff, co doprowadziło mnie do wniosku, że końcowy xor to 0xffff instread z 0x0000 CCITT.

questionAnswers(4)

yourAnswerToTheQuestion