
Лабораторная работа №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) и передаёт результат ЖЪЫХЙТСЖЫАШШЬЯМЫШЗЬВГ Чебурашке. Какое сообщение зашифровал Крокодил Гена?
Контрольные вопросы
-
В чем заключается принцип шифрования гаммированием?
-
Поясните, как происходит построение гаммы.
-
В чем слабость шифра гаммирования с неравновероятной гаммой?
-
Почему наложение на открытый тектс гаммы, представляющей собой периодическую последоваетельность небольшого периода, не дает надежной защиты?
-
Объясните выражение – «совершенно стойкий шифр».
-
Почему недопустимо использовать дважды одну и ту же гамму для защиты открытых текстов?
-
Какие условия необходимы для обеспечения криптостойкости шифра гаммирования?