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