Тема . Межрегиональная им. И. Я. Верченко (криптография)

Последовательности, функции и их кодирование на Верченко

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

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

Задача 1#99591

Устройство принимает на вход и выдает на выход наборы из n  битов (причем n ≥4  ). Поданный на вход набор x = (x ,...,x )
     1     n  преобразуется в выходной набор

h(x)= (x1⊕ xn−1,x2 ⊕xn,x2⊕x3,x3⊕ x4,...,xn−2⊕ xn−1,x1⊕ xn),

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

Подав теперь этот набор h(x)  на вход, получим на выходе набор h(h(x ))= h(2)(x)  , который вновь подадим на вход и получим h(3)(x)  и т.д.

Докажите, что если все наборы

      (2)      (k)
x,h(x),h  (x),...,h  (x)

оказались различными, то k≤ 2n− 1− 1  .

Показать доказательство

Заметим, что для всех x вектор h(x)  содержит четное число единиц, так как

(x1⊕ xn−1)⊕(x2⊕ xn)⊕(x2⊕ x3)⊕ (x3 ⊕x4)⊕...⊕(xn−2⊕ xn− 1)⊕ (x1 ⊕xn)= 0.

Значит, в рассматриваемой последовательности

      (2)      (k)
x,h(x),h  (x),...,h  (x)

все векторы, начиная со второго, имеют четное количество единиц. Количество всех векторов, имеющих четное количество единиц, равно 2n−1  . Поэтому претендентом на самое большое количество различных векторов является последовательность (*), начинающаяся с вектора, содержащего нечетное количество единиц и продолжающаяся всеми векторами с четным количеством единиц. Количество векторов в такой последовательности будет 1+ 2n−1  Таким образом,

    n−1
k≤ 2   .

Для получения оценки k≤ 2n−1− 1  рассмотрим отдельно случай когда среди векторов последовательности (*) нет нулевого вектора (0,0,...,0)  и когда он есть.

Если в последовательности (*) нет вектора (0,0,...,0)  , то она содержит не более 1+ (2n−1− 1)= 2n− 1  векторов и

k≤ 2n−1− 1.

Пусть теперь последовательность (*) содержит вектор ( 0,0,...,0  ). Рассмотрим два случая.

1) Если n  — нечетное число, то

h(0,0,...,0)= h(1,1,...,1)=(0,0,...,0)

и других векторов, переходящих в нулевой нет. При этом не существует векторов z  таких, что

h(z)= (1,1,...,1)

Таким образом в этом случае последовательность (*) содержит максимум два вектора и

k≤ 2n−1− 1.

2) Если n  — четное число, то

h(0,0,...,0)= h(1,1,...,1)=(0,0,...,0)

и найдутся два вектора

a= (0,0,1,0,1,...,0,1,1) и b= (1,1,0,1,0,1,...,0,1,0,0),

содержащие четное число единиц такие, что

h(a)=h(b)= (1,1,...,1).

Последовательность (*) не может содержать одновременно векторы a и b , поэтому в этом случае она содержит не более    ( n− 1  )   n−1
1+  2   − 1 = 2  векторов, так что

k≤ 2n−1− 1.

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

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