LINUX.ORG.RU

История изменений

Исправление Manhunt, (текущая версия) :

Т.е. они вместо «икс в степени» могли заюзать какое-то другое матанское средство, а реально в степень никто ничего не возводит?

Да.

Тема такая: для многочленов можно определить операцию деления в столбик, полностью аналогично тому, как производится деление целых чисел в школьных тетрадках.

Грубая схема того, как вычисляется CRC, по шагам:
1. Берём наш файл, проходим его бит за битом от конца к началу, и каждый бит считаем коэффициентом при икс-в-степени-порядковый-номер-бита. Получается многочлен.
2. Делим многочлен из шага 1 на «порождающий» многочлен CRC. Результатом деления являются два многочлена: частное и остаток. Частное нас не интересует. Разрядность остатка не может превосходить разрядность «порождающего» многочлена CRC.
3. Интерпретируем коэффициенты многочлена-остатка из шага 2 как биты некоего двоичного числа (операция, обратная тому, что было проделано на шаге 1). Это число и есть контрольная сумма файла.

Участие икса во всех этих манипуляциях — чисто умозрительное, значением икс мы ни на каком этапе не интересуемся и не пытаемся его в многочлен подставить. Понятие о многочленах нужно лишь для того, чтобы сделать очевидной связь с соответствующим куском матана, и вытекающими из этого матана хорошими свойствами CRC.

Исходная версия Manhunt, :

Т.е. они вместо «икс в степени» могли заюзать какое-то другое матанское средство, а реально в степень никто ничего не возводит?

Да.

Тема такая: для многочленов можно определить операцию деления в столбик, полностью аналогично тому, как производится деление целых чисел в школьных тетрадках.

Вычисление CRC, по шагам:
1. Берём наш файл, проходим его бит за битом от конца к началу, и каждый бит считаем коэффициентом при икс-в-степени-порядковый-номер-бита. Получается многочлен.
2. Делим многочлен из шага 1 на «порождающий» многочлен CRC. Результатом деления являются два многочлена: частное и остаток. Частное нас не интересует. Разрядность остатка не может превосходить разрядность «порождающего» многочлена CRC.
3. Интерпретируем коэффициенты многочлена-остатка из шага 2 как биты некоего двоичного числа (операция, обратная тому, что было проделано на шаге 1). Это число и есть контрольная сумма файла.

Участие икса во всех этих манипуляциях — чисто умозрительное, значением икс мы ни на каком этапе не интересуемся и не пытаемся его в многочлен подставить. Понятие о многочленах нужно лишь для того, чтобы сделать очевидной связь с соответствующим куском матана, и вытекающими из этого матана хорошими свойствами CRC.