2015-04-16 7 views
2

Я пытаюсь найти эффективный способ вычисления полинома CRC16 с использованием базового значения и выхода CRC16.
Пример более ясно:
Обратное проектирование, чтобы получить CRC16 Polynomial

y = CRC16(x) 

Как я могу найти полином, используемый CRC16 функции для оценки у?
Я использую C и Python для создания некоторого исполняемого файла (для целей тестирования).

+0

Я бы начал с работы с самым простым возможным вводом, пустой строкой или одной, состоящей из одного нулевого байта. –

+0

Есть только 32K возможных значений для 17-битного числа с установленными как высокими, так и низкими битами. Почему вы повышаете эффективность? – stark

+0

Вы говорите, что у вас есть доступ к функции 'CRC16()', и вы хотели бы повторно реализовать эту функцию? Если да, укажите CRC, возвращенный этой функцией для девяти байтов (в ASCII): «123456789». –

ответ

0

Список полиномов для проверки CRC можно найти здесь:

http://en.wikipedia.org/wiki/Polynomial_representations_of_cyclic_redundancy_checks

В частности, вы, вероятно, хотите полином CRC-16-ANSI

enter image description here

+0

Я думаю, что CRC-16-CCITT используется больше, CCITT: Международный консульский комитет Téléphonique et Télégraphique Международный консультативный комитет по телеграфу и телефону, в настоящее время ITU-T – computingfreak

0

Ламмерт Бис имеет отличный page со ссылками и библиотеками C для различных методов для CRC-16.

В основном, он содержит онлайн-калькулятор, который вы можете использовать, чтобы сразу увидеть, является ли то, что вы хотите, одним из хорошо известных методов.

Если это так, библиотеки C сразу дают оптимизированную реализацию CRC-калькулятора, и их можно легко перевести на Python. Вы можете найти пример для варианта CRC-CCITT XMODEM в этом other answer от шахты

+0

Я знаю, что это недалеко от ссылки только ответ, но я действительно не знаю, как сделать это по-другому: первая ссылка ** имеет ** ссылку, поскольку это онлайн-калькулятор, а во-вторых, это просто пример для предыдущего объяснения. –

 Смежные вопросы

  • Нет связанных вопросов^_^