Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
Спасибо за ответ. 24.11.04 12:05 Число просмотров: 2339
Автор: Dimik Статус: Незарегистрированный пользователь
|
Спасибо за ответ.
> даже просто brute-force. В Сети есть описание как "умных" > итеративных алгоритмов, так и brute-force подбор. Если
А можно по подробнее, как такой умный алгоритм реализвать или может быть найти что-то готовое...
> полином не длинее 16, то "подбор" IMHO будет удобнее. >
Имхо нет, т.к. у нас 16 битный полином, 16 битное начальное значение, 16 битный XOR на выходе + два бита иверсии входа и выхода. (В трактовке Painless CRC guide)
Итого (2^16(2^16)2^16)*2*2 вариантов. Если применить алгоритм произвольного CRC из того же "бозболезненного руководства по CRC", то получаем не один десяток лет перебора..... Может существуют более быстрые не табличные алгоритмы?
> Но там может быть не просто CRC, а смесь c функцией > (нелинейной и/или не коррелирующей с CRC). Например можно > посчитать CRC32, а потом сложить старшие и младшие 16 бит. > Или взять 16 бит начитая с 3-го. Можно сделать и еще "хуже" > - посчитать MD5 и взять какие-нибудь два байта из 16.
Маловероятно. Там стоит PIC процессор, который крутится на 1МГц тактовой, а значит выдает 0.25MIPS. Не думаю что те, кто писал софт под этот пик просались бы на ветер драгоценными миллисекундами.
Может быть такой вариант, что это даже и не CRC, а какой-то простой суррогатный алгоритм, порожденный бурной фантазией программеров.... =( Но как быть в таком случае, я тем более не знаю...
|
|
|