Порядок выполнения лабораторной работы. Моделирование работы шифра гаммирования
Моделирование работы шифра гаммирования
- Цель работы
Освоить порядок моделирования криптосистемы с помощью программы Multisim 11.0.2.
- Общие сведения
При шифровании методои гаммирования вначале каждую букву открытого текста преобразуют в число. Затем к каждому числу прибавляют секретную псевдослучайную числовую последовательность (гамму). По этой причине такой шифр порой называют аддитивным шифром.
При описании этого шифра авторы используют термины типа: суммирование, прибавление, добавление… Нужно чётко помнить, что в классическом шифре гаммирования слияние (соединение, трансформация) символов открытого текста и символов гаммы осуществляется с помощью логической операции Исключающее ИЛИ.
Слияние символов гаммы и символов открытого текста осуществляется поразрядно. Процедуру прибавления гаммы к открытому тексту удобно реализовать с помощью двоичных чисел. При этом на каждый бит открытого текста накладывается бит секретной гаммы. Понятно, что гамма должна быть известна на передающей и приёмной сторонах.
Рассмотрим детальнее процедуру шифрования методом гаммирования. При формировании гаммы генератор формирует псевдослучайную последовательность битов: g1, g2, g3,…, gn. Этот поток битов и поток битов открытого текста p1, p2, p3,…, pn подвергаются поразрядно логической операции Исключающее ИЛИ. В результате получается поток битов криптограммы:
ci = pi Å gi.
При расшифровании криптограммы на приёмной стороне операция Исключающее ИЛИ выполняется над битами поступившей криптограммы и тем же самым потоком гаммы:
pi = ci Å gi.
Благодаря особенностям логической операции Исключающее ИЛИ на приёмной стороне операция вычитания заменяется логической операцией Исключающее ИЛИ. Сказанное иллюстрируем примером.
Предположим, что открытый текст Р = 10011001, а гамма G = 11001110. В результате шифрования на передающей стороне криптограмма С будет иметь следующий вид:
Р | ||||||||
G | ||||||||
C |
На приёмной стороне над криптограммой и гаммой повторно выполняется логическая операция Исключающее ИЛИ:
C | ||||||||
G | ||||||||
Р` |
Из этих таблиц видно, что переданный и принятый байты одинаковые.
В ЭВМ преобразование открытого текста в числа происходит естественным путём, так как каждый символ при вводе с клавиатуры кодируется двоичным числом. Для определённости будем считать, что сообщение в ЭВМ кодируется с помощью кодовой таблицы CP-1251. Результаты всех преобразований поместим в таблицу.
Открытый текст | Г | Д | Е | А | Б | Б | А |
Десятичное число | |||||||
Двоичное число | |||||||
Гамма (десятич.) | |||||||
Гамма (двоич.) | |||||||
Криптогр. (двоич.) | |||||||
Криптогр. (десят.) | |||||||
Криптограмма | г | Ц | б | Л | ь | Ц | Г |
Для наглядности результат шифрования переведён с помощью таблицы CP-1251 в буквы. Из таблицы видно, что открытый текст был записан прописными буквами, а криптограмма содержит как прописные, так и строчные буквы. Очевидно, что если все значения гаммы равны нулю, то в линию будет передан открытый текст. Если же все значения разрядов гаммы равны единицам, то в линию поступит инвертированный открытый текст.
Следует запомнить.
Недопустимо в реальных криптосистемах повторно использовать гамму для шифрования нового текста. Число символов гаммы должно быть не меньше числа символов открытого текста, то есть нельзя циклически повторять гамму.
Задания на выполнение лабораторной работы
Задание 1. Исследование шифра гаммирования
Выполнить моделирование криптосистемы, которая базируется на шифре гаммирования. Принципиальная схема криптосистемы показана на рисунке. Значения открытого текста и гаммы нужно записать в Word Generator. Содержимое Генератора слов (Word Generator XWG1), показанное на рисунке, соответствует варианту 17.
Исходные данные в шестнадцатеричной СС для моделирования и расчётов приведены в таблице.
Таблица 3.1.1
Вар. | Открытый текст | Гамма | Вар. | Открытый текст | Гамма |
CAFÉ1945 | 1bA617E7 | 0dA2bAC9 | 914FbAC9 | ||
AbbA1812 | 29FE18db | C0d3dACA | 10A5AA09 | ||
bAbA3141 | 3Cd419EA | 6АС4E2E4 | 11FdAA48 | ||
dEdAC0d4 | 41F920A3 | EdA5CAdA | 12CdAdA5 | ||
bEdAC0d5 | 579A21Fd | AbCdA137 | 13F4dAdA | ||
6А6АC0d6 | 6dbA22dA | AdE52008 | 14AdbdAC | ||
С00С2009 | 78bdAb38 | EA431917 | 15FAEAE7 | ||
600С2012 | 8AEF10bd | dAEE16b9 | |||
C0d7 | 23b6 |
Несложно заметить, что шестнадцатеричные числа в таблице 3.1.1 записаны прописными и строчными буквами. Это связано с особенностью конструкции семисегментного индикатора (см. схему исследований), который не позволяет представить все шестнадцатеричные числа заглавными буквами.
Кроме моделирования криптосистемы в программе Multisim в этом задании нужно выполнить ручной расчёт, используя те же исходные данные.
Задание 2. Оценка влияния состава гаммы на криптограмму
Повторить исследования, описанные в предыдущем задании, взяв одинаковые для всех вариантов значения гаммы 0000FFFF. Открытый текст берётся из таблицы 3.1.1. Провести анализ сформированной криптограммы, дать комментарии. Обратить внимание на имеющиеся закономерности, просматривающиеся при сравнении открытого текста и криптограммы.
Задание 3. Оценка влияния длины гаммы на криптостойкость
Выполнить моделирование криптосистемы, взяв одинаковые для всех вариантов значения гаммы 7A7A7A7A. Открытый текст должен состоять из восьми символов, равных номеру варианта (шестнадцатеричная система счисления). Провести анализ полученных результатов, дать комментарии.
Обратить внимание на имеющиеся закономерности, проявляющиеся при сравнении открытого текста и криптограммы.
Задание 4. Расшифрование криптограммы
С помощью криптосистемы, схема которой показана на следующем рисунке, расшифровать криптограмму (см. таблицу 3.4.1).
Таблица 3.4.1
Вар | Крипто- грамма | Гамма | Вар | Крипто- грамма | Гамма |
D748E615 | 1BA617E7 | D720C8AD | 914FBAC9 | ||
6F976ABE | 29FE18DB | 52C9DF6C | 10A5AA09 | ||
8E24F707 | 3CD419EA | A11840A8 | 11FDAA48 | ||
8A11D151 | 41F920A3 | 55A8C1C7 | 12CDADA5 | ||
9072CD1D | 579A21FD | D8112834 | 13F4DADA | ||
25DB57A9 | 6DBA22DA | 43C8D4C2 | 14ADBDAC | ||
BB4D45D4 | 78BDAB38 | 15FAEAE7 | |||
CE9D75D4 | 8AEF10BD | 1500FD5C | DAEE16B9 | ||
ADDD9524 | 1D2E78CA |
Шифр гаммирования является симметричным, поэтому для зашифрования и расшифрования используются одинаковые устройства.
Криптосистема содержит два АЛУ, которые позволяют расшифровать (или зашифровать) восьмиразрядные символы. Младшие четыре бита открытого текста (или криптограммы) отображаются на индикаторе U3, а старшая тетрада индицируется на U4. Криптограмма (или открытый текст) и гамма размещаются в Генераторе Слов. Криптограмма (или открытый текст) подаётся на шины А, гамма - на шины В арифметико-логических устройств.
Полученные после расшифрования шестнадцатеричные значения открытого текста нужно заменить четырьмя буквами. Для этого следует использовать таблицу CP-1251 (см. Приложение 2).
Порядок выполнения лабораторной работы