"25 этюдов о шифрах" - читать интересную книгу автора (Дориченко Сергей Александрович, Ященко...)

ПРИЛОЖЕНИЕИзбранные задачи олимпиад по криптографии

Институт криптографии, связи и информатики (ИКСИ) входит в состав Академии Федеральной службы контрразведки Российской Федерации. ИКСИ имеет в своем составе два факультета: информатики и специальной техники. Институт готовит высококвалифицированных специалистов в области защиты информации, криптографии, специальной связи, компьютерной безопасности.

Для школьников при ИКСИ действует вечерняя физико-математическая школа. С 1991 года институт проводит олимпиады по криптографии и математике, избранные задачи которых публикуются в данном приложении.

Задачи

1. Ключом шифра, называемого «решетка», является трафарет, сделанный из квадратного листа клетчатой бумаги размером n#215;n (n — четно). Некоторые из клеток вырезаются с тем, чтобы в получившиеся отверстия на чистый лист бумаги того же размера можно было вписывать буквы текста, подлежащего зашифрованию. Одна из сторон трафарета является помеченной. Кроме того, трафарет должен обладать одним важным свойством: при наложении его на чистый лист бумаги четырьмя возможными способами (помеченной стороной вверх, вправо, вниз, влево) его вырезы полностью покрывают всю площадь квадрата, причем каждая клетка оказывается под вырезом ровно один раз.

Буквы сообщения, имеющего длину n2, последовательно вписываются в вырезы трафарета при каждом из четырех его указанных положений. После снятия трафарета на листе бумаги оказывается зашифрованное сообщение.

Найдите число различных ключей для произвольного четного числа n.

2. В адрес олимпиады пришла шифртелеграмма

ЦДОЗИФКДЦЮ.

Прочитайте зашифрованное сообщение, если известно, что использовался шифр, по которому к двузначному порядковому номеру буквы в алфавите (от 01 до 33) прибавлялось значение многочлена

f(x) = x6 + 3x5 + x4 + x3 + 4x2 + 4x + 5,

вычисленное либо при x = x1, либо при x = x2 (в случайном порядке), где x1,x2 — корни трехчлена x2 + 3x + 1, а затем полученное число заменялось соответствующей ему буквой.

3. Одна фирма предложила устройство для автоматической проверки пароля. Паролем может быть любой непустой упорядоченный набор букв в алфавите {a, b, c}. Будем обозначать такие наборы большими латинскими буквами. Устройство перерабатывает введенный в него набор P в набор Q = #966;(P). Отображение #966; держится в секрете, однако про него известно, что оно определено не для каждого набора букв P и обладает следующими свойствами. Для любого набора букв P

1) #966;(aP) = P;

2) #966;(bP) = #966;(P)a#966;(P);

3) набор #966;(cP) получается из набора #966;(P) выписыванием букв в обратном порядке.

Устройство признает предъявленный пароль верным, если #966;(P) = P. Например, трехбуквенный набор bab является паролем, так как #966;(bab) = #966;(ab)a#966;(ab) = bab. Подберите пароль, состоящий более, чем из трех букв.

4. Коммерсант для передачи цифровой информации с целью контроля передачи разбивает строчку передаваемых цифр на пятерки и после каждых двух пятерок приписывает две последние цифры от суммы чисел, изображенных этими пятерками. Затем процесс шифрования осуществляется путем прибавления к шифруемым цифрам членов арифметической прогрессии с последующей заменой сумм цифр остатками от деления на 10. Прочитайте зашифрованное сообщение:

4 2 3 4 6 1 4 0 5 3 1 3.

5. Рассмотрим модель шифра для цифрового текста, в котором каждая цифра заменяется остатком от деления значения многочлена

f(x) = b(x3 + 7x7 + 3x + a)

на число 10, где a,b — фиксированные натуральные числа. Выяснить, при каких значениях a и b возможно однозначное расшифрование.

6. Фирма предложила на рынок кодовый замок. При установке владелец замка сопоставляет каждой из 26 латинских букв, расположенных на клавиатуре, произвольное натуральное число (известное лишь обладателю замка). После выбора произвольной комбинации попарно различных букв, происходит суммирование числовых значений набранных букв и замок открывается, если сумма делится на 26. Докажите, что для любых числовых значений букв существует комбинация, открывающая замок.

7. Рассматривается шифр, в котором буквы русского 30-буквенного алфавита #937; занумерованы по следующей таблице:

А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ы Э Ю Я

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

Для зашифрования сообщения #964; = t1t2...tn выбирается некоторая последовательность #954; = #947;1#947;2...#947;n (ключ), состоящая из букв алфавита #937;. Зашифрование состоит в позначном сложении соответствующих букв из #964; и #954; с последующей заменой суммы буквой алфавита #937;, номер которой равен остатку от деления этой суммы на число 30.

Известно, что два сообщения #964;1 и #964;2 зашифрованы с помощью одного ключа (#954;) и что каждое из них содержит слово «корабли». Восстановить #964;1 и #964;2 по текстам данных криптограмм:

#963;1=ЮПТЦАРГШАЛЖЖЕВЦЩЫРВУУ

#963;2=ЮПЯТБНЩМСДТЛЖГПСГХСЦЦ

8. Перехвачена «шифровка»: РБЬНПТСИТСРРЕЗОХ

Относительно шифра известно следующее:

— используется шифр предыдущей задачи;

— в качестве ключа используется произвольная последовательность, составленная из букв: А,Б,В.

Прочтите зашифрованное сообщение.

9. Шифр простой замены в алфавите A = {a1, a2,..., an}, состоящем из n различных букв, заключается в замене каждой буквы шифруемого текста буквой того же алфавита, причем разные буквы заменяются разными. Ключом шифра простой замены называется таблица, в которой указано, какой буквой надо заменить каждую букву алфавита A. Если слово СРОЧНО зашифровать простой заменой с помощью ключа:

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЭЮЯ

ЧЯЮЭЫЫЦШЦХФУБДТЗВРПМЛКАИОЖЕСГН,

то получится слово ВЗДАБД. Зашифровав полученное слово с помощью того же ключа еще раз, получим новое слово ЮШЫЧЯЫ. Сколько всего различных слов можно получить, если указанный процесс шифрования продолжить неограниченно?

10. Сообщение, зашифрованное в пункте А шифром простой замены в алфавите из букв русского языка и знака пробела (_) между словами, передается в пункт Б отрезками по 12 символов. При передаче очередного отрезка сначала передаются все его знаки, стоящие на четных местах в порядке возрастания их номеров, начиная со второго, а затем — все знаки, стоящие на нечетных местах, также в порядке возрастания их номеров, начиная с первого. В пункте Б полученное шифрованное сообщение дополнительно шифруется с помощью некоторого другого шифра простой замены в том же алфавите, а затем таким же образом, как и из пункта А, передается в пункт В. По перехваченным в пункте В отрезкам:

СО_ГЖТПНБЛЖО

РСТКДКСПХЕУБ

_Е_ПФПУБ_ЮОБ

СП_ЕОКЖУУЛЖЛ

СМЦХБЭКГОЩПЫ

УЛКЛ_ИКНТЛЖГ,

восстановите исходное сообщение зная, что в одном из передаваемых отрезков зашифровано слово КРИПТОГРАФИЯ.

11. Дана последовательность C1, C2, C3, ..., Cn, ..., в которой Cn есть последняя цифра числа nn. Доказать, что эта последовательность периодическая и ее период равен 20.

12. Знаки алфавита, состоящего из букв русского языка и символа пробела между словами (_), заменим парами цифр согласно таблице:

А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ы Э Ю Я _

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Для зашифрования сообщения длины m, записанного в этом алфавите, сначала преобразуем буквенный текст в цифровой T = t1, t2, ..., t2m,а затем, выбрав отрезок K = Cn+1, Cn+2, ..., Cn+2m последовательности из задачи 11, осуществим последовательное поразрядное сложение цифр текста T с цифрами отрезка K, причем в качестве очередного знака шифрованного текста берется цифра единиц соответствующей суммы (младший разряд).

Прочитайте зашифрованное сообщение:

2 3 3 9 8 6 7 2 1 6 4 5 8 1 6 0 6 7 0 6 1 7 3 1 5 5 8 8.