(Продолжение. Начало в № 2 (9) за 2005 г.)
Ю. С. Антонов,
кандидат физико-математических наук
Еще одной большой группой шифров являются шифры, получаемые методом гаммирования. Гамма шифра - это случайная последовательность чисел, заданная по некоторому алгоритму. Если буквы открытого текста представим в виде чисел, соответствующих порядковым номерам этих букв в алфавите, то процесс гаммирования будет заключаться в сложении чисел гаммы с числами открытого текста. В случае, если числа гаммы не меняются, мы получаем систему шифрования Вижинера, которая названа в честь французского дипломата Блеза Вижинера и была им опубликована в 1586 г. Система Вижинера подобна системе шифрования Цезаря, у которой ключ сдвига текста меняется от буквы к букве. Пример вскрытия такого шифра содержится в рассказе Жюль Верна «Жангада». Там судья Жаррикес встречается со следующим зашифрованным сообщением:
СГУЧПВЭЛЛЗЙРТЕПНЛНФГИНБОРГЙУ ГЛЧДКОТХЖГУУМЗДХРЪСГСЮДТПЪАР ВЙГГИЩВЧЭЕЦСТУЖВСЕВХАХЯФБЬБЕ ТФЗСЭФТХЖЗБЗЪГФБЩИХХРИПЖТЗВТ ЖЙТГОЙБНТФФЕОИХТТЕГИИОКЗПТФЛ ЕУГСФИПТЬМОФОКСХМГБТЖФЫГУЧОЮ НФНШЗГЭЛЛШРУДЕНКОЛГГНСБКССЕУ ПНФЦЕЕЕГГСЖНОЕЫИОНРСИТКЦЬЕДБ УБТЕТЛОТБФЦСБЮЙПМПЗТЖПТУФКДГ
Жоаму Дакосте, приговоренному по ложному обвинению к виселице, удается узнать имя автора криптограммы - Ортега. Было сделано естественное предположение, что это имя зашифровано в конце текста. Поставив буквы О, Р, Т, Е, Г, А над последними шестью буквами документа, судья находит относительный сдвиг букв:
исходное сообщение О Р Т Е Г А шифрованное сообщение Т У Ф К Д Г относительный сдвиг букв 4 3 2 5 1 3 Будучи уверенным, что в документе упоминается имя Дакосты, судья предположил, что исследуя различные расположения слова Дакоста в тексте криптограммы, можно получить гамму шифра. В самом деле, записав над фрагментом текста ЙБНТФФЕ, слово ДАКОСТА - получим:
исходное сообщение Д А К О С Т А шифрованное сообщение Й Б H Т Ф Ф Е относительный сдвиг букв 5 1 3 4 3 2 5 Теперь можно предположить, что гаммой шифра является циклическая последовательность цифр 513432 и, тем самым, расшифровать текст.
Как видно из этого примера, процесс шифрования можно описать в виде:
Т*= Rk + Lk ( mod m), i=1,...,n,
где Тк - i-я буква шифротекста в k-ом периоде гаммы, то есть (kn+^-я буква шифротекста;
Rk - (kn+^-я буква открытого текста; L,k - i-я буква гаммы в k-ом периоде. Запись (mod m) обозначает арифметику по модулю m (результат арифметических операций делится на m и берется остаток). Операцию расшифровки можно описать в виде:
Rk= Tk - Цк ( mod m), i=1,...,n.
Наиболее простой операция расшифровки будет, когда m=2 (двоичная арифметика). В этом случае уравнения шифровки и расшифровки принимают вид:
Жюль Верн (08.02.1828 г. - 24.03.1905г.)
T|k= Rk + Lk ( mod 2), i = 1,..., n, (шифровка),
R,k= T,k - L,k ( mod 2), i = 1,., n, (расшифровка).
Гамма шифра -величина переменная, поэтому получаемые методом гаммирования шифротексты трудны для раскрытия. В той или иной степени гам-мирование применяется во всех современных системах защиты информации.
Предлагаем для решения одну из задач третьей олимпиады по криптографии.
Сообщение, зашифрованное в пункте А шифром простой замены в алфавите из букв русского языка и знака пробела (-) между словами, передается в пункт Б отрезками по 12 символов. При передаче очередного отрезка сначала передаются символы, стоящие на четных местах в порядке возрастания их номеров, начиная со второго, а затем - символы, стоящие на нечетных местах (также в порядке возрастания их номеров), начиная с первого. В пункте Б полученное шифрованное сообщение дополнительно шифруется с помощью некоторого другого шифра простой замены в том же алфавите, а затем таким же образом, как из пункта А передается в пункт В. По перехваченным в пункте В отрезкам:
СО - Г Ж ТПНБЛ ЖО РСТКДКСП ХЕ УБ -Е - П ФП УБ - Ю О Б СП - Е ОКЖ УУЛ Ж Л СМЦ ХБ Э К ГО ЩП Ы УЛКЛ - ИКНТЛ ЖГ
восстановите исходное сообщение, зная, что в одном из переданных отрезков зашифровано слово КРИПТОГРАФИЯ.
Решение задачи предыдущего номера (№ 1, 2006).
Так как процесс шифровки пароля зависит от очередной шифруемой цифры и от предыдущей цифры, то результат шифровки можно представить в виде таблицы, где координатой по вертикали является шифруемая цифра пароля, а координатой по горизонтали - предыдущая цифра. На пересечении строки с номером i и столбца с номером j находится цифра, в которую при шифровке переходит цифра пароля j, стоящая в пароле после цифры i. Пусть х1, х2, х3,..., х7 - шифровки паролей, а p1, p2 - известные нам пароли, записанные в порядке их появления в решаемой задаче. Ясно, что х3 и х4 паролями быть не могут, так как их длины не соответствуют длине паролей. Шифровка х, не может соответствовать p, так как в процессе заполнения таблицы получим в одной строке две одинаковые цифры. А это нарушает одно-
значность шифровки. Перебирая остальные шифровки, получаем, что шифровкой для р, может быть только х2. Процесс шифровки определяется левой из двух таблиц, расположенных ниже.
0123456789
0123456789
5
3
4 3 7
7
2
3
4
1 9
6 5
3
4 3 7 0 6 2 5 8 9
3 7
2
3 7
4
1 9
1
Совершенно аналогично определяем, что паролю р2 соответствует шифровка х5. Объединяя оба процесса шифровки, получим правую таблицу. Заметив, что в девятой вертикали второй строки может располагаться только цифра 1, получим окончательную таблицу шифровки:
0123456789
6 5
3
4 3 7 0 6 2 5 8 9 1
3 7
2
3 7
4
1 9
1
Эта же таблица служит для расшифровки. Первая цифра пароля соответствует первой цифре шифровки. Очередная цифра пароля является вертикальной координатой числа, являющегося очередной цифрой шифровки. Горизонтальной координатой этого числа является цифра, стоящая перед очередной цифрой шифровки. Расшифровки двух паролей недостаточно для полного заполнения таблицы, поэтому полная расшифровка возможна только для х3.
Ответ: 5393511 соответствует паролю 5830829.
Литература
1. Введение в криптографию / Под общ. ред. В.В. Ященко. - СПб.: Питер, 2001. - 288 с.
2. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. - М.: Радио и связь, 1999. - 328 с.
3. Alex JeDaev. Я люблю компьютерную самооборону: Учебн. пособ. - М.: Только для взрослых, 2002. -432 с.