реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Опознать алгоритм CRC32
Grym
сообщение Feb 14 2007, 20:26
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 3-11-06
Пользователь №: 21 929



Можно ли как-то по потоку данных и известной CRC найти как эта CRC считается?

Вот например пара примеров:

0C 65 00 65 73 43 E8 E9 01 00 1B 21 F0 00 1B 21 F0 00 E7 03 E7 03 00 00 00 FF 00 00 00 00 00 00 02 00 82 00 01 90 01 12 00 00 00 00 00 00 00 00 - 28 07 03 2B

41 00 - 0F AB F8 78


Последние 4 цифры это и есть CRC.

Я проверял, это не CRC32 , менял стандартный полином на зеркальный, тоже не помогло.

Что интересно, в предыдщей версии протокола была стандартная двухбайтная CRC16, а здесь уже 4 байта, но это не CRC32.
Go to the top of the page
 
+Quote Post
Link
сообщение Feb 15 2007, 01:01
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 28
Регистрация: 1-12-05
Пользователь №: 11 671



Если полином малораспространенный (т.е не Ethernet, CRC-32-MPEG2, CRC-16-CCITT....) то подбирать коэффициенты полинома можно очень долго.

А так в интернете есть много разных програм для подсчета CRC - они могут сильно облегчить поиск.


> а здесь уже 4 байта, но это не CRC32.

Почему ? CRC32 означает что длина CRC - 32 бита = 4 байта.
Go to the top of the page
 
+Quote Post
VslavX
сообщение Feb 15 2007, 08:48
Сообщение #3


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(Link @ Feb 15 2007, 00:01) *
Если полином малораспространенный (т.е не Ethernet, CRC-32-MPEG2, CRC-16-CCITT....) то подбирать коэффициенты полинома можно очень долго.

А так в интернете есть много разных програм для подсчета CRC - они могут сильно облегчить поиск.


> а здесь уже 4 байта, но это не CRC32.

Почему ? CRC32 означает что длина CRC - 32 бита = 4 байта.

Вероятно можно попробовать так - получившиеся 4 байта CRC - это остаток от деления на полином. Вычитаем их полиномиально из исходной последовательности, а результат (должен делиться с нулевым остатком и не является неприводимым) раскладываем полиномиально на множители. Один из множителей или их комбинация и будет искомый полином на который делили для получения CRC.
Go to the top of the page
 
+Quote Post
nsemenoff
сообщение Mar 5 2007, 16:10
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 88
Регистрация: 12-02-07
Из: СПб
Пользователь №: 25 280



Цитата(Grym @ Feb 14 2007, 20:26) *
Можно ли как-то по потоку данных и известной CRC найти как эта CRC считается?


А вы уверены, что на этот протокол нет документации? smile.gif
Просто можно искать алгоритм методом подбора, а можно найти документацию, и сильно сократить время поиска smile.gif
Go to the top of the page
 
+Quote Post
arttab
сообщение Mar 5 2007, 18:45
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Можно попробовать перебор всех известных полиномов32 для всего пакета. если подойдет, то результат будет равен 0.


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
DuHast
сообщение Mar 5 2007, 21:13
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 314
Регистрация: 13-07-06
Из: Москва
Пользователь №: 18 797



Обсуждалось тут
Go to the top of the page
 
+Quote Post
Макс_Мат
сообщение Mar 23 2007, 17:20
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 21-03-07
Пользователь №: 26 378



Цитата(VslavX @ Feb 15 2007, 08:48) *
Вероятно можно попробовать так - получившиеся 4 байта CRC - это остаток от деления на полином. Вычитаем их полиномиально из исходной последовательности, а результат (должен делиться с нулевым остатком и не является неприводимым) раскладываем полиномиально на множители. Один из множителей или их комбинация и будет искомый полином на который делили для получения CRC.


Правильно говорит человек. a14.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 4th July 2025 - 17:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016