Архив задач олимпиады по математике и криптографии

Сдвиг.

Пусть x = (x1, … , x8) - двоичный вектор длины 8. Обозначим xd - циклический сдвиг вектора x на d позиций вправо. Например, если x = (1,0,0,0,0,0,0,0), то x2 = (0,0,1,0,0,0,0,0). При этом считаем, что x0 = x. Под суммой векторов x=(x1, … , x4) и y=(y1, … , y4) будем понимать y = (x1 ⊕ y1, x2 ⊕ y2, x3 ⊕ y3, x4 ⊕ x4). Здесь ⊕ – стандартная операция сложения битов: 0 ⊕ 0 = 1 ⊕ 1 = 0, 0 ⊕ 1 = 1 ⊕ 0 = 1. Пусть x = v + vv4. Найдите d1, … , dn такие, что при любом исходном векторе v выполняется равенство v = xd1 + … + xdn.