Техника защиты компакт-дисков от копирования

         

на его вход по умолчанию


 *                                      распространяемых по лицензии GNU

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––-*/

decode_rs()

{

    int i, j, u, q;

    int s[n-k+1];                     // полином синдрома ошибки

    int elp[n – k + 2][n - k];        // полином локатора ошибки лямда

    int d[n-k+2];

    int l[n-k+2];

    int u_lu[n-k+2],

   

    int count=0, syn_error=0, root[t], loc[t], z[t+1], err[n], reg[t+1];

   

    // переводим полученное кодовое слово в индексную форму

    // для упрощения вычислений

    for (i = 0; i < n; i++) recd[i] = index_of[recd[i]];

   

    // вычисляем синдром

    //---------------------------------------------------------------------------

    for (i = 1; i <= n - k; i++)

    {

         s[i] = 0;        // инициализация s-регистра (на его в

                          // на его вход по умолчанию поступает ноль

        

         // выполняем s[i] += recd[j]*ij

         // т.е. берем очередной символ декодируемых данных,

         // умножаем его на порядковый номер данного символа,

         // умноженный на номер очередного оборота и складываем

         // полученный результат с содержимым s-регистра

         // по факту исчерпания всех декодируемых символ, мы

         // мы повторяем весь цикл вычислений опять – по одному

         // разу для каждого символа четности

         for (j=0; j<n; j++) if (recd[j]!=-1) s[i]^= alpha_to[(recd[j]+i*j)%n];

        

         if (s[i]!=0) syn_error=1;      // если синдром не равен нулю, взводим

                                        // флаг ошибки

        

         // преобразуем синдром из полиномиальной формы в индексную

         s[i] = index_of[s[i]];

    }

   

    // коррекция ошибок

    //---------------------------------------------------------------------------

    if (syn_error)            // если есть ошибки, пытаемся их скорректировать

    {

        

         // вычисление полинома локатора ламбдла


Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий