top of page
                                    Лабораторная работа №3
                                 Тема: Шифры гаммирования.
Цель Работы: Шифрование, дешифрование информации с применением криптографических алгоритмов гаммирования

                                                                          Теоретические сведения:

В алфавите любого естественного языка буквы следуют друг за другом в определенном порядке. Это дает возможность присвоить каждой букве алфавита ее естественный порядковый номер. Так, в английском алфавите букве A присваивается порядковый номер 1, букве Q - порядковый номер 17, а букве Z - порядковый номер 26. Аналогичное отождествление можно осуществить и для русского алфавита, например для RUS30 (где Ё=Е, Й=И, Ъ=Ь). Буква А будет иметь порядковый номер 1, О - номер 14, Я - 30.

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

                                                                              1 11 20 1 3  9 18

                                               в алфавите RUS30 преобразуется в буквенное сообщение:

                                                                                  АЛФАВИТ

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 31 32 33 

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

Зададим теперь преобразования зашифрования f и преобразования расшифрования g для произвольного шифра гаммирования. Пусть:

  • необходимо зашифровать сообщение  X =x1  , … , xn   в алфавите Ω ={a1,…an}

  • n - мощность алфавита.

  • Каждая буква отождествляется со своим порядковым номером в алфавите.

  • Выберем  некоторую  последовательность,   составленную  из  букв

Ω:      , … ,       -  данная последовательность называется гаммой шифра, или ключевой последовательностью.

Тогда преобразованием зашифрования будет являться преобразование, при котором i-ая буква шифртекста yi  равна:           yi = fki(xi) =rn(xi +yi),

где  ki =yi - используемый знак гаммы последовательности для шифрования i-той буквы сообщения  xi: rn (b) - остаток от деления числа b числа на n (полагаем, что  rn (n)  =n  ).

Итак, зашифрование шифром гаммирования означает «сложение» или, как говорят, «наложение» некоторой последовательности (гаммы) на знаки (буквы) открытого текста. Очевидно, что в таком случае для расшифрования нужно вычесть из букв шифртекста знаки гаммы:    xi = gki(yi) =rn(yi -  yi),

 Соответственно, в силу сказанного, весь отрезок гаммы (то есть вся последовательность) является ключом данного шифра, именно поэтому ее называют ключевой последовательностью.

Отметим, что аналогичные формулы для шифрования и расшифрования мы видели на прошлом занятии, когда рассматривали сдвиговые шифры. Все дело в том, что сдвиговый шифр на самом деле является частным случаем шифра гаммирования, когда вся гамма представляется одним и тем же значением k (то есть, другими словами, когда все элементы гаммы равны k).

На данной схеме изображен процесс зашифрования сообщения шифром гаммирования.

В каждый момент времени в устройство шифрования (шифратор) подается очередная буква открытого текста и подается знак гаммы , сгенерированный по некоторому правилу (закону) устройством выработки ключевой последовательности. Согласно формуле  yi =fki(xi) =rn(xi+yi),

шифратор вырабатывает очередную букву шифрованного текста. Данный процесс продолжается до тех пор пока в через шифратор не «пройдут» все буквы открытого текста.

 

Зашифруем слово АЛФАВИТ на следующей гамме: ИДФНТВХ.

                                                        y1=r30 (А + И) = r30 (1 + 9) = 10 = К,

                                                        y1= r30 (Л + Д) = r30 (11 + 5) = 16 = Р,

                                                        y1= r30 (Ф + Ф) = r30 (20 + 20) = 10 = К,

                                                        y1= r30 (А + Н) = r30 (1 + 13) = 14 = О,

                                                        y1= r30 (В + Т) = r30 (3 + 18) = 21 = Х,

                                                        y1= r30 (И + В) = r30 (9 + 3) = 12 = М

                                                        y1= r30 (Т + Х) = r30 (18 + 21) = 9 = И.

 

Получим шифртекст: КРКОХМИ.

Задание:

Для передачи сообщения на русском языке Крокодил Гена и Чебурашка выполняют следующие действия. Каждый из них выбирает свою последовательность, состоящую из целых чисел в пределах от 0 до 32, длина которой равна длине сообщения. Буквы сообщения заменяются числами по табл. 2

Таблица 2

Сначала Гена шифрует сообщение, используя свою последовательность. Для этого числовое значение первой буквы сообщения и первое число его последовательности складываются, а полученная сумма заменяется остатком от деления на 33 и вновь заменяется буквой по табл. 2. Затем эта процедура повторяется для вторых, третьих и т.д. чисел сообщения и последовательности. Полученный результат: ЁЛИСУВШОЮЦОМЮВЫЗПЭЪМО передаётся Чебурашке. После этого Чебурашка шифрует полученное сообщение с помощью своей последовательности.Получается строка ЪЭЛВШРЕЭЭТЖЩЮИГВФБСЦХ. Эту строку он и передает Гене.

Гена вычитает из числовых значений букв полученного сообщения числа своей последовательности (к отрицательной разнице прибавляется число 33) и передаёт результат ЖЪЫХЙТСЖЫАШШЬЯМЫШЗЬВГ Чебурашке. Какое сообщение зашифровал Крокодил Гена?

Контрольные вопросы

  1.  В чем заключается принцип шифрования гаммированием?

  2. Поясните, как происходит построение гаммы.

  3. В чем слабость шифра гаммирования с неравновероятной гаммой?

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

  5. Объясните выражение – «совершенно стойкий шифр».

  6. Почему недопустимо использовать дважды одну и ту же гамму для защиты открытых текстов? 

  7. Какие условия необходимы для обеспечения криптостойкости шифра гаммирования? 

bottom of page