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

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

Задача 1#71370

Знаками открытого и шифрованного текстов являются пары целых от 0 до 31. Для зашифрования используется секретный ключ k  (целое число от 0 до 31), заданная таблично функция h,  а также функция g(c,d),  которая паре целых чисел (c,d)  ставит в соответствие пару (d,c+ h(d+k))  (причем если число d +k  или d+ h(d+ k)  превышает 31 , то их заменяют остатком от деления на 32).  Знак шифрованного текста (b1,b2)  получается из знака открытого текста (a1,a2)  путем 128-кратного применения функции g :

(b1,b2)= g128(a1,a2)= g(...g(g(a1,a2)))

Известно, что знак открытого текста (21,0)  преобразовался в знак зашифрованного текста (15,25),  знак (7,3)  преобразовался в (29,5),(0,17)  — в (25,4)  и, наконец, (5,21)− в (22,9).  Найдите ключ k.

i  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
h(i)  9 1 30 4 24 12 8 23 18 7 16 15 21 26 10 17 19 22 13 28 14
21 22 23 24 25 26 27 28 29 30 31
11 2 29 3 6 27 0 5 25 31 20

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

Подсказки к задаче

Подсказка 1

Применять 128 раз одну и ту же функцию очень сложно...поэтому было бы хорошо, если мы сразу могли понимать, а что у нас получается на каждой итерации? Может ли в итоге у двух разных пар получиться один и тот же знак?

Подсказка 2

Если две пары отличаются одним применением функции, то и их знаки тоже отличаются одним применением функции. Как это связать с условием?

Подсказка 3

Попробуем найти такие пары чисел, которые удовлетворяют утверждению из подсказки 2. Теперь мы знаем, какие пары отличаются применением функции g! Несложно найти k)

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

Необходимо заметить, что из равенств

        128
(b1,b2)= g  (a1,a2)

( ′ ′)   128( ′ ′)
 b1,b2 = g   a1,a2

(a′,a′)= g(a,a )
  1 2      1 2

следует равенство

(b′,b′)= g(b,b )
 1 2      1 2

Необходимым условием выполнения равенств (a′1,a′2)= g(a1,a2),(b′1,b′2)= g(b1,b2)  являются равенства a′1 = a2,b′1 = b2.  Среди приведенных в задаче пар знаков открытого и шифрованного текстов есть знаки, удовлетворяющие этому условию: одна пара (21,0),(0,17)  и вторая пара (29,5),(5,21).  То есть

(15,25)=g128(21,0)

(25,4)= g128(0,17)

Из условия задачи возможность найти ключ — воспользоваться равенствами

(0,17)= g(21,0), (25,4)= g(15,25)

Убедимся, что при этих условиях оба равенства дают одинаковое значение ключа k.

PIC

Получаем, что k= 19.

Ответ: 19

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

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

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

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

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

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

Бесплатное обучение
в Школково

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

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

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

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

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

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

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

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