Тема Верченко (криптография)

Алгебра и многочлены на Верченко

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела верченко (криптография)
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#68241

Пусть x =(x ,...,x )
     1    8  — двоичный вектор длины 8. Обозначим xd  — циклический сдвиг вектора x на d  позиций вправо. Например, если x =(1,0,0,0,0,0,0,0),  то  2
x = (0,0,1,0,0,0,0,0).  При этом считаем, что  0
x = x.  Под суммой векторов x= (x1,...,x4)  и y =(y1,...,y4)  будем понимать вектор

x +y =(x1⊕ y1,x2⊕ y2,x3⊕ y3,x4⊕ y4)

Здесь ⊕ — стандартная операция сложения битов: 0 ⊕0 =1⊕ 1= 0,  0⊕ 1= 1⊕0 =1.  Пусть

       1   4
x= v+ v + v

Найдите d1,...,dn  такие, что при любом исходном векторе v выполняется равенство

v =xd1 + ⋅⋅⋅+ xdn

Источники: Верченко-2023 (см. v-olymp.ru)

Показать ответ и решение

Заметим, что xd+8n = xd  для любого натурального числа n  . Вектору x = (x ,...,x)
     1    8  взаимно однозначно соответствует многочлен

                   7    8
x(t)= x1+ x2t+ ...+ x7t + x8t

Тогда циклический сдвиг вектора x  на d  позиций вправо равносилен умножению многочлена x(t)  на td  и приведению степеней мономов по модулю 8  .

Вектору x =v +v1 +v4  соответствует многочлен x(t)= 1+ t+ t4  . Таким образом, нахождение d ,...,d
 1    n  таких, что v =xd1 +...+ xdn равносильно нахождению многочлена v(t)= td1 +...+ tdn  со свойством x(t)v(t)= 1  (с учётом приведения степеней мономов по модулю 8  ). Найти многочлен v(t)  можно методом неопределённых коэффициентов, но быстрее из следующего алгоритма:

 2          8  2  4    4  8    8
x (t)= 1+t+ t = t, x (t)= t,x (t)= t= 1

Следовательно,

      7     3  4          4 2 4  2   6  7
v(t)= x (t)= x(t)x (t)= (1+t+ t)tt = t +t + t
Ответ:

 v =x2+ x6+ x7

Рулетка
Вы можете получить скидку в рулетке!