Como eu poderia adivinhar um algoritmo de soma de verificação?

Vamos supor que eu tenha alguns pacotes com uma soma de verificação de 16 bits no final. Eu gostaria de adivinhar qual algoritmo de soma de verificação é usado.

Para começar, a partir de dados de despejo, posso ver que uma alteração de byte na carga útil do pacote altera totalmente a soma de verificação, portanto, posso supor que não é algum tipo de XOR ou soma simples.

Então eu tenteivárias variações do CRC16mas sem muita sorte.

Essa questão pode ser mais tendenciosa em relação à criptografia, mas estou realmente interessado em qualquer ferramenta estatística fácil de entender para descobrir qual CRC isso pode ser. Eu poderia até recorrer adesenhando diferentes algoritmos CRC se tudo mais falhar.

Backgroud story: Tenho um protocolo RFID em série com algum tipo de soma de verificação. Posso reproduzir mensagens sem problemas e interpretar resultados (sem verificação de soma de verificação), mas não consigo enviar pacotes modificados porque o dispositivo os coloca no chão.

Usando o software existente, posso mudar a carga útil do chip RFID. No entanto, o número de série exclusivo é imutável, por isso não tenho capacidade de verificar todas as combinações possíveis. Allthough eu poderia gerar despejos de valores incrementando por um, mas não o suficiente para fazer pesquisa exaustiva aplicável a este problema.

despejar arquivos com dados estão disponíveis se a pergunta em si não for suficiente :-)

Precisa de documentação de referência? UM GUIA SEM DORMENTE PARA ALGORITMOS DE DETECÇÃO DE ERROS CRC é ótima referência que encontrei depois de fazer a pergunta aqui.

No final, depois de uma sugestão muito útil na resposta aceita do que no CCITT, euusou esta calculadora CRCe xored gerado soma de verificação com checksum conhecido para obter 0xffff que me levou a conclusão de que xor final é 0xffff instread de 0x0000 CCITT.

questionAnswers(4)

yourAnswerToTheQuestion