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

 
 
> Полином для вычисления обратной CRC, Из CRC получить исходный код
ViKo
сообщение Mar 16 2015, 09:08
Сообщение #1


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Имею идею шифровать код прошивки с помощью CRC. Конкретно, декодировать его с помощью встроенной в STM32F2xx CRC-32 с полиномом:
X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 +X8 + X7 + X5 + X4 + X2+ X +1
То есть, каждое исходное слово заменяется CRC, вычисленной с его участием, следующее слово заменяется следующей CRC.
Вопрос, как закодировать, чтобы после декодирования получить исходный код? Каким полиномом? Думаю, перекрутить 32 в 1, и т. п.
Пока читаю пару статей о CRC, может, кто-то уже знает точный ответ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Mar 16 2015, 18:48
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Давайте возьмем примитивнейший пример. CRC-8 равна сумме того числа-байта, что занесено в блок вычисления и входного байта. И ограничена, естественно, 8 битами. Кодируем ту же последовательность, каждое число не более 8 битов:
22 -> 22
33 -> 55
44 -> 99
66 -> 165
166 -> 330 = 74
255 -> 329 = 73
и т.д. Очевидно, однозначность будет всегда.


Цитата(SM @ Mar 16 2015, 21:26) *
И что дало такое априорное знание, что код был равен 91 перед тем, как стал 37? Это как-то может помочь в принятии решения, как декодировать число 37 - в 11, или в 66?

Это говорит о том, что предложенный вариант вычислений как CRC использовать нельзя.
Когда вы умножаете предыдущий результат на 256, вы сильно вылетаете за разрядность числа 311. Видимо, здесь ошибка.
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 16 2015, 19:04
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(ViKo @ Mar 16 2015, 21:46) *
Очевидно,

Это не доказательство. Вот для арифметического деления, доказательство четкое (математически), что однозначности нет. По причине того, что число G, выступающее в роли делителя, больше, чем 2^(N-1), где N - разрядность числа. И, поэтому, остатки от деления DATA mod G, большие, либо равные, чем 2^(N-1), зацикливаются внутри байта из-за отбрасывания старшего бита. Было бы логично распространить это и на полиномы. Потому, что там аналогия полная - полином на 1 разряд больше, чем CRC, поэтому результат от деления полиномов должен бы также зацикливаться внутри этого числа разрядностью на 1 меньше, чем полином, приводя к дублям.

"Очевидно" - нет такого термина. Мне вот, очевидно, что для CRC4 будет для входных данных "0001 0010" , что соответствует полиному x^4+x - остаток от деления на x^4+x^1+1 будет равен x^4+x, что соответствует числу 2, если оставить 4 бита. Проверяем - 0*(x^4+x^1+1) + (x^4+x) = x^4+x - проверка показала, в делении не ошиблись, остаток именно такой. И, одновременно, для данного "0000 0010", что соответствует полиному x^1, остаток от деления на x^4+x^1+1 равен x^1, что также соответствует четырехбитному числу 2. Проверяем - 0*(x^4+x^1+1) + x^1 = x^1. Проверка опять показала, что поделено правильно, и остаток именно такой.

Цитата(AHTOXA @ Mar 16 2015, 21:58) *
Насколько я понял, раскодирование заключается в вычислении CRC. Это однозначное преобразование.


Вопрос - как при помощи некой функции закодировать данные так, чтобы они раскодировались методом подсчета CRC. Я не уверен в том, что существует такая функция в принципе (то есть, математически, является функцией, сопоставляя каждому аргументу из ее области определения единственное значение результата). То, что можно подобрать такой поток данных, чтобы на выходе получить требуемую последовательность - да с этим никто не спорит ни разу!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ViKo   Полином для вычисления обратной CRC   Mar 16 2015, 09:08
- - SM   Математически точный ответ я дать могу - для того,...   Mar 16 2015, 11:05
|- - demiurg_spb   Извините, не понял сути сначала. По сути ИМХО это ...   Mar 16 2015, 11:22
- - yes   может я что-то непонимаю - но не уверен, обратима...   Mar 16 2015, 12:32
- - ViKo   Пытаюсь понять на простом примере. Вот в этом каль...   Mar 16 2015, 13:12
|- - SM   Цитата(ViKo @ Mar 16 2015, 16:12) Обратим...   Mar 16 2015, 14:19
|- - ViKo   Цитата(SM @ Mar 16 2015, 17:19) То, что о...   Mar 16 2015, 14:21
|- - SM   Цитата(ViKo @ Mar 16 2015, 17:21) Это зав...   Mar 16 2015, 14:24
|- - ViKo   Цитата(SM @ Mar 16 2015, 17:24) Тогда пер...   Mar 16 2015, 14:31
|- - SM   Цитата(ViKo @ Mar 16 2015, 17:31) Без ини...   Mar 16 2015, 14:39
- - ViKo   А мне интуиция говорит, что, поскольку я имею те ж...   Mar 16 2015, 14:47
|- - SM   Цитата(ViKo @ Mar 16 2015, 17:47) А мне и...   Mar 16 2015, 15:25
|- - ViKo   Цитата(SM @ Mar 16 2015, 18:14) Каждое по...   Mar 16 2015, 15:28
|- - SM   Цитата(ViKo @ Mar 16 2015, 18:28) Надо от...   Mar 16 2015, 15:37
|- - ViKo   Цитата(SM @ Mar 16 2015, 18:37) CRC то не...   Mar 16 2015, 15:50
|- - SM   Цитата(ViKo @ Mar 16 2015, 18:50) Избавля...   Mar 16 2015, 15:54
- - ViKo   Наверное, и с алгебраическим умножением и ограниче...   Mar 16 2015, 16:11
|- - SM   Цитата(ViKo @ Mar 16 2015, 19:11) Наверно...   Mar 16 2015, 16:29
|- - AHTOXA   Так ему однозначность нужна в другую сторону. Чтоб...   Mar 16 2015, 16:51
|- - SM   Цитата(AHTOXA @ Mar 16 2015, 19:51) Так е...   Mar 16 2015, 17:00
|- - AHTOXA   Цитата(SM @ Mar 16 2015, 22:00) Так а как...   Mar 16 2015, 18:58
|- - ViKo   Цитата(AHTOXA @ Mar 16 2015, 21:58) Наско...   Mar 16 2015, 19:08
|- - SM   Цитата(ViKo @ Mar 16 2015, 22:08) Это уже...   Mar 16 2015, 19:23
- - ViKo   В CRC-4 полином 5-битовый, а числа и остаток 4-бит...   Mar 16 2015, 17:19
|- - SM   Цитата(ViKo @ Mar 16 2015, 20:19) В CRC-4...   Mar 16 2015, 17:21
|- - ViKo   Цитата(SM @ Mar 16 2015, 20:21) Вот поэто...   Mar 16 2015, 18:07
|- - SM   Цитата(ViKo @ Mar 16 2015, 21:02) Не согл...   Mar 16 2015, 18:11
|- - ViKo   Цитата(SM @ Mar 16 2015, 21:11) Нельзя бы...   Mar 16 2015, 18:16
|- - SM   Цитата(ViKo @ Mar 16 2015, 21:16) и, зная...   Mar 16 2015, 18:26
- - krux   я таки-извиняюсь, но предположу, что топикстартеру...   Mar 16 2015, 17:32
|- - SM   Цитата(krux @ Mar 16 2015, 20:32) я таки-...   Mar 16 2015, 17:36
- - krux   я опять-таки извиняюсь, но топикстартер в курсе пр...   Mar 16 2015, 17:51
- - ViKo   Полином CRC известен, он не от балды берется. x^4 ...   Mar 16 2015, 19:33
|- - SM   Цитата(ViKo @ Mar 16 2015, 22:33) Полином...   Mar 16 2015, 20:25
- - ViKo   Могу только повторить - 0x30...0x3F не укладываютс...   Mar 16 2015, 20:58
|- - SM   Цитата(ViKo @ Mar 16 2015, 23:58) Могу то...   Mar 16 2015, 21:43
|- - ViKo   Цитата(SM @ Mar 17 2015, 00:43) Любая мет...   Mar 16 2015, 21:52
|- - SM   Цитата(ViKo @ Mar 17 2015, 00:52) Мы гово...   Mar 16 2015, 21:54
|- - ViKo   Цитата(SM @ Mar 17 2015, 00:54) Да, в GF(...   Mar 16 2015, 22:02
|- - SM   Цитата(ViKo @ Mar 17 2015, 01:02) А вы ум...   Mar 17 2015, 05:23
- - ViKo   А вы замените умножение последовательными сложения...   Mar 17 2015, 05:57
|- - SM   Цитата(ViKo @ Mar 17 2015, 08:57) А вы за...   Mar 17 2015, 05:59
- - ViKo   http://depa.usst.edu.cn/chenjq/www2/softwa...calcu...   Mar 17 2015, 06:22
- - SM   А на заборе еще что-то написано. Мы сейчас обсужда...   Mar 17 2015, 06:30
|- - ViKo   Цитата(SM @ Mar 17 2015, 09:30) А на забо...   Mar 17 2015, 06:38
|- - SM   Цитата(ViKo @ Mar 17 2015, 09:38) Может, ...   Mar 17 2015, 06:41
|- - ViKo   Цитата(SM @ Mar 17 2015, 09:41) Нет. Мои ...   Mar 17 2015, 06:49
|- - SM   Цитата(ViKo @ Mar 17 2015, 09:49) что я п...   Mar 17 2015, 06:59
- - ViKo   Подождем... Я же показал частное и остаток. Програ...   Mar 17 2015, 07:06
|- - SM   Цитата(ViKo @ Mar 17 2015, 10:06) Я же по...   Mar 17 2015, 07:24
- - MrYuran   Не совсем понял, о чем идет речь, но для CRC (и во...   Mar 17 2015, 08:04
|- - ViKo   Цитата(MrYuran @ Mar 17 2015, 11:04) Не с...   Mar 17 2015, 09:30
|- - SM   Цитата(ViKo @ Mar 17 2015, 12:30) SM, вы ...   Mar 17 2015, 09:34
- - Timmy   Цитата(ViKo @ Mar 16 2015, 12:08) То есть...   Mar 17 2015, 08:35
- - ViKo   SM, я вижу, упорствование - ваш конек. Разберитесь...   Mar 17 2015, 09:37
|- - SM   Цитата(ViKo @ Mar 17 2015, 12:37) SM, я в...   Mar 17 2015, 09:42
- - ViKo   Ладно, делим. Получим для CRC-4 из 0x30 частное и ...   Mar 17 2015, 09:52
- - SM   Так ясно, откуда у Вас ошибка. Приписывание четыре...   Mar 17 2015, 10:00
- - ViKo   Приписывание нулей - чтобы было из чего остаток на...   Mar 17 2015, 10:03
|- - SM   Цитата(ViKo @ Mar 17 2015, 13:03) Приписы...   Mar 17 2015, 10:33
- - ViKo   Если вы не дополните число нулями, вы не сделаете ...   Mar 17 2015, 10:51
- - SM   Цитата(ViKo @ Mar 17 2015, 13:51) Если вы...   Mar 17 2015, 10:54
- - Dr.Alex   Конечно не было возможности всё прочитать, может у...   Mar 17 2015, 14:52
- - ViKo   Цитата(Dr.Alex @ Mar 17 2015, 17:52) Его ...   Mar 18 2015, 09:40
- - Dr.Alex   Цитата(ViKo @ Mar 18 2015, 12:40) А то кр...   Mar 18 2015, 10:40
- - ViKo   Цитата(Dr.Alex @ Mar 18 2015, 13:40) С ка...   Mar 18 2015, 11:08
- - Dr.Alex   Ну тогда 2-3-4 первых слова :-)))))))   Mar 18 2015, 11:27


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 08:14
Рейтинг@Mail.ru


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