Сергей Дориченко - 25 этюдов о шифрах
3) нулевое разглашение (или стойкость) — в результате работы протокола (P, V, S) абонент V не увеличит свои знания об утверждении S или, другими словами, не сможет извлечь никакой информации о том, почему S истинно.
Самое удивительное, что в 1991 году для широкого класса математических проблем (включающего так называемые NP-полные задачи) удалось доказать существование доказательств с нулевым разглашением. Впрочем, это доказано только в предположении, что существует односторонняя функция.
Приведем одно практическое применение теории доказательств с нулевым разглашением — «интеллектуальные карточки» (неподделываемые удостоверения личности, кредитные карточки и т.п.). В них вмонтирован микропроцессор, реализующий действия абонента P в протоколе, претендующем быть протоколом доказательства с нулевым разглашением (P, V, S). Здесь абонент P — владелец карточки, а абонент V — например, компьютер в банке или в проходной секретного учреждения. Подумайте, почему в таком случае можно обеспечить неподделываемость удостоверений личности и кредитных карточек.
Заключение
Вы прочли первую книгу по криптографии.
Если вам хочется подробней узнать историю криптографии, события и легенды, связанные с ней, то рекомендуем попытаться найти и прочесть упомянутые в этюде 1.4 книги Д. Кана и Т.А. Соболевой, а также любые номера журнала «Cryptology».
Если вы увлекаетесь программированием и вам захотелось самому реализовать какие-нибудь криптографические алгоритмы, то прежде всего полезно овладеть упомянутой в этюде 2.8 книгой Д. Кнута. Затем можно обратиться к одной из многочисленных книг для программистов по вопросам защиты информации в ЭВМ.
Если вас интересуют математические вопросы криптографии, то в первую очередь необходимо углубиться в те разделы математики, которые упомянуты в этюдах 2.1, 2.2, 2.3, 3.3, 3.4 и 3.8. Систематическое образование в этой области можно получить в любом из вузов, указанных во введении.
Что еще можно почитать о криптографии1. Т.А. Соболева. Тайнопись в истории России. (История криптографической службы России XVIII — начала XX в.). М., 1994.
2. К. Шеннон. Работы по теории информации и кибернетике. М., ИЛ, 1963.
3. У. Диффи, М.Э. Хеллмэн. Защищенность и имитостойкость. Введение в криптографию. ТИИЭР, том 67, N 3, 1979.
4. Г. Фролов. Тайны тайнописи. М., 1992.
5. М. Гарднер. От мозаик Пенроуза к надежным шифрам. М., Мир, 1993.
6. А.Н. Лебедев. Криптография с «открытым ключом» и возможности ее практического применения. «Защита информации», выпуск 2, 1992.
ПРИЛОЖЕНИЕ
Избранные задачи олимпиад по криптографии
Институт криптографии, связи и информатики (ИКСИ) входит в состав Академии Федеральной службы контрразведки Российской Федерации. ИКСИ имеет в своем составе два факультета: информатики и специальной техники. Институт готовит высококвалифицированных специалистов в области защиты информации, криптографии, специальной связи, компьютерной безопасности.
Для школьников при ИКСИ действует вечерняя физико-математическая школа. С 1991 года институт проводит олимпиады по криптографии и математике, избранные задачи которых публикуются в данном приложении.
Задачи1. Ключом шифра, называемого «решетка», является трафарет, сделанный из квадратного листа клетчатой бумаги размером n×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 = φ(P). Отображение φ держится в секрете, однако про него известно, что оно определено не для каждого набора букв P и обладает следующими свойствами. Для любого набора букв P
1) φ(aP) = P;
2) φ(bP) = φ(P)aφ(P);
3) набор φ(cP) получается из набора φ(P) выписыванием букв в обратном порядке.
Устройство признает предъявленный пароль верным, если φ(P) = P. Например, трехбуквенный набор bab является паролем, так как φ(bab) = φ(ab)aφ(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-буквенного алфавита Ω занумерованы по следующей таблице:
А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ы Э Ю Я
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
Для зашифрования сообщения τ = t1t2...tn выбирается некоторая последовательность κ = γ1γ2...γn (ключ), состоящая из букв алфавита Ω. Зашифрование состоит в позначном сложении соответствующих букв из τ и κ с последующей заменой суммы буквой алфавита Ω, номер которой равен остатку от деления этой суммы на число 30.
Известно, что два сообщения τ1 и τ2 зашифрованы с помощью одного ключа (κ) и что каждое из них содержит слово «корабли». Восстановить τ1 и τ2 по текстам данных криптограмм:
σ1=ЮПТЦАРГШАЛЖЖЕВЦЩЫРВУУ
σ2=ЮПЯТБНЩМСДТЛЖГПСГХСЦЦ