Задания на выполнение лабораторной работы

Шифрование с помощью управляемых операций

Цель работы

Освоить порядок моделирования криптосистемы, основанной на шифрование с помощью управляемых операций, в программе Multisim 11.0.2.

Общие сведения

Программа Multisim может быть успешно использована для имитации работы криптографических систем. В предыдущей работе был рассмотрен шифр гаммирования. Основная идея шифра гаммирования заключается в замене символов открытого текста на числа и суммировании их с псевдослучайными числами, которые называются «гаммой». При этом состав гаммы известен только доверенным лицам на передающей и приёмной сторонах.

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

Ещё одним уязвимым элементом в аддитивном шифре является логическая операция Исключающее ИЛИ, которая используется для зашифрования и расшифрования.

Известно интересное свойство этой логической операции:

Задания на выполнение лабораторной работы - student2.ru .

Соотношение говорит о том, что наличие чётного числа одинаковых слагаемых, участвующих в операции Исключающее ИЛИ, уничтожает эти слагаемые. Таким образом, если определить период циклически повторяющейся гаммы и выполнить логическую операцию Исключающее ИЛИ над символами криптограммы с одинаковыми значениями гаммы (с одинаковыми фазами), то можно уничтожить гамму. В результате такого преобразования получаются данные, представляющие собой результат выполнения логической операции Исключающее ИЛИ над символами открытого текста:

Задания на выполнение лабораторной работы - student2.ru

Это объясняется тем, что Задания на выполнение лабораторной работы - student2.ru , то есть элементы гаммы повторяются с периодом Т и поэтому они одинаковые. Если гамма дважды использована для шифрования двух разных текстов, то задача криптоанализа становится ещё проще: достаточно выполнить операцию Исключающее ИЛИ над двумя криптограммами. Известен пример неверного использования метода гаммирования в операционной системе Windows 95. Одна и та же гамма применялась несколько раз для шифрования данных в файлах PWL (эти файлы хранят логины и пароли).

Величину R можно назвать разностью открытых текстов (сообщений). Разность R может быть подвержена успешному криптоанализу путём учёта статистических закономерностей открытых текстов или использования известных из других источников их особенностей.

Таким образом, в аддитивном методе шифрования из-за симметричности (обратимости) логической операции Исключающее ИЛИ и нештатного использования гаммы существует возможность произвести криптоанализ и восстановить открытый текст даже без знания гаммы.

Повысить криптостойкость аддитивного шифра можно за счёт использования управляемых операций шифрования [3, 4]. Основная идея данной криптосистемы состоит в использовании в течение одного сеанса связи не одной, а нескольких различных шифрующих операций. В этой криптосистеме вместе с изменением значения гаммы варьируются операции преобразования, выполняемые над открытым текстом (на передаче) и над криптограммой (на приёме). Причём на передаче и приёме операции зашифрования и расшифрования должны синхронно чередоваться. Например, если на передаче осуществляется арифметическое сложение символа открытого текста с элементом гаммы, то на приёме нужно вычесть гамму из полученной криптограммы. Синхронизация выполняемых операций должна осуществляться под управлением гаммы, которая одновременно определяет и вид выполняемой операции, и сама участвует в этих операциях.

На рисунке показана структурная схема криптографической системы с управляемыми операциями шифрования.

Задания на выполнение лабораторной работы - student2.ru

Имитация передающей и приёмной сторон криптосистемы осуществляется с помощью двух арифметико-логических устройств. Четыре разряда открытого текста M подаётся на вход А первого арифметико-логического устройства (АЛУ). Четырехбитная гамма G подаётся на входы В каждого АЛУ. Вид выполняемой операции на передающей стороне задаётся с помощью преобразователя кода ПК1. Управляющие сигналы S на приёмной стороне формируются с помощью преобразователя кода ПК2. Сигналы с выходов преобразователей кодов подаются на управляющие шины АЛУ и шину переноса из старшего разряда CN. Именно эти сигналы определяют вид выполняемых АЛУ операций.

Криптограмма K формируется на выходе F первого АЛУ. Расшифрование криптограммы происходит на приёмной стороне с помощью второго АЛУ. Выполняемые операции синхронно изменяются под управлением гаммы. Принятый открытый текст M` появляется на выходе F второго АЛУ.

В качестве шифрующих преобразований можно использовать различные логические и арифметические операции, а также математические функции и их комбинации [5]. Некоторые из них перечислены в таблице 2.1, в которой приняты такие обозначения:

M - открытый текст (сообщение); G - гамма; K - криптограмма; Задания на выполнение лабораторной работы - student2.ru - логическая операция Исключающее ИЛИ (неравнозначность); Задания на выполнение лабораторной работы - student2.ru - логическая операция равнозначность; «+» - арифметическая операция сложение; «–» - арифметическая операция вычитание; черта над переменными обозначает операцию инверсии.

Первые 10 операций в таблице 2.1 предполагают работу ЭВМ с целыми числами. Остальные операции предназначены для работы с вещественными числами.

Задачей преобразователей кодов ПК1 и ПК2 является синхронное изменение управляющих сигналов на передающей и приёмной сторонах. Естественно, что конструкции преобразователей кодов ПК1 и ПК2 должны быть разными, так как при одинаковых входных воздействиях (гамма G) преобразователи кодов должны формировать разные выходные (управляющие) сигналы S, S` и сигналы переносов CN.

Преобразователи кодов можно синтезировать различными способами: графически (с помощью карт Карно и диаграмм Вейча), аналитически (методы Квайна, Мак-Класки, неопределённых коэффициентов) и с помощью графических символов, интерпретирующих булевы функции.

Перечисленные способы синтеза комбинационных цифровых устройств трудоёмки и имеют ограничения на их использование при числе переменных более 5…6. При разработке модели данной криптосистемы преобразователи кодов целесообразно синтезировать с помощью блока Logic Converter (логический конвертор), который входит в систему моделирования радиоэлектронных устройств Multisim.

Таблица 2.1

  Операции на передающей стороне Операции на приёмной стороне
1. Неравнозначность Задания на выполнение лабораторной работы - student2.ru Неравнозначность Задания на выполнение лабораторной работы - student2.ru
2. Равнозначность Задания на выполнение лабораторной работы - student2.ru Задания на выполнение лабораторной работы - student2.ru Задания на выполнение лабораторной работы - student2.ru Задания на выполнение лабораторной работы - student2.ru Равнозначность Задания на выполнение лабораторной работы - student2.ru Задания на выполнение лабораторной работы - student2.ru Задания на выполнение лабораторной работы - student2.ru Задания на выполнение лабораторной работы - student2.ru
3. Сложение Задания на выполнение лабораторной работы - student2.ru Вычитание Задания на выполнение лабораторной работы - student2.ru
4. Вычитание Задания на выполнение лабораторной работы - student2.ru Сложение Задания на выполнение лабораторной работы - student2.ru
5. Вычитание Задания на выполнение лабораторной работы - student2.ru Вычитание Задания на выполнение лабораторной работы - student2.ru
6. Инверсия от суммы Задания на выполнение лабораторной работы - student2.ru Комбинированная разность Задания на выполнение лабораторной работы - student2.ru
7. Инверсия от разности Задания на выполнение лабораторной работы - student2.ru Комбинированная сумма Задания на выполнение лабораторной работы - student2.ru
8. Инверсия от разности Задания на выполнение лабораторной работы - student2.ru Комбинированная разность Задания на выполнение лабораторной работы - student2.ru
9. Комбинированная сумма Задания на выполнение лабораторной работы - student2.ru Комбинированная разность Задания на выполнение лабораторной работы - student2.ru
10. Комбинированная разность Задания на выполнение лабораторной работы - student2.ru Комбинированная сумма Задания на выполнение лабораторной работы - student2.ru
11. Умножение Задания на выполнение лабораторной работы - student2.ru Деление Задания на выполнение лабораторной работы - student2.ru
12. Деление Задания на выполнение лабораторной работы - student2.ru Умножение Задания на выполнение лабораторной работы - student2.ru
13. Деление Задания на выполнение лабораторной работы - student2.ru Деление Задания на выполнение лабораторной работы - student2.ru
14. Функциональные Задания на выполнение лабораторной работы - student2.ru Функциональные Задания на выполнение лабораторной работы - student2.ru
15. Алгебраические Задания на выполнение лабораторной работы - student2.ru Алгебраические Задания на выполнение лабораторной работы - student2.ru

Логический конвертор позволяет создавать преобразователи кодов с числом аргументов n ≤ 8. Для получения логических выражений, описывающих работу ПК, достаточно в конвертор ввести таблицу истинности, которая описывает работу преобразователя кода. Полученные математические выражения затем можно использовать для построения принципиальной схемы ПК.

Рассмотрим подробнее порядок выбора логических и арифметических операций, которые можно использовать в криптосистеме.

Безусловно, для шифрования нужно использовать многократно проверенную на практике операцию Исключающее ИЛИ. Аналогичными положительными свойствами обладает операция “Равнозначность”, которая является инверсной по отношению к операции Исключающее ИЛИ.

В виду того, что логические операции Задания на выполнение лабораторной работы - student2.ru эквивалентны операции неравнозначности Задания на выполнение лабораторной работы - student2.ru , использовать все три операции при шифровании не имеет смысла, так как криптограммы при шифровании будут одинаковыми. Аналогично операции Задания на выполнение лабораторной работы - student2.ru сводятся к операции равнозначности Задания на выполнение лабораторной работы - student2.ru . Таким образом, из рассмотренных шести операций следует использовать только две: равнозначность и неравнозначность.

Для арифметических операций в дополнительном коде справедливы соотношения:

Задания на выполнение лабораторной работы - student2.ru

Задания на выполнение лабораторной работы - student2.ru

Задания на выполнение лабораторной работы - student2.ru

Задания на выполнение лабораторной работы - student2.ru

Задания на выполнение лабораторной работы - student2.ru

Использование операций, перечисленных в одной строке, даст одинаковые значения криптограммы при одинаковых значениях гаммы и открытого текста. Из четырнадцати указанных операций целесообразно оставить только шесть, например,

Задания на выполнение лабораторной работы - student2.ru , Задания на выполнение лабораторной работы - student2.ru , Задания на выполнение лабораторной работы - student2.ru , Задания на выполнение лабораторной работы - student2.ru и Задания на выполнение лабораторной работы - student2.ru .

Задания на выполнение лабораторной работы

3.1. Задание 1. Синтез преобразователя кода

Используя таблицу 3.1.1, разработать два преобразователя кода (по одному для передающей и приёмной стороны). Преобразователи кодов нужно синтезировать с помощью блока Logic Converter (логический конвертор).

Таблица 3.1.1

Варианты Значения гаммы G
Задания на выполнение лабораторной работы - student2.ru Задания на выполнение лабораторной работы - student2.ru Задания на выполнение лабораторной работы - student2.ru Задания на выполнение лабораторной работы - student2.ru
0,5,6,7 1,3,11 2,8,12,15 4,9,10,13,14
2,3,7,11 8,12,14,15 0,1,5,9,13 4,6,10
0,1,4,5 2,3,12,14,15 6,8,10 7,9,11,13
0,13,14,15 4,6,8,10,12 1,3,5 2,7,9,11
1,5,9,13 3,7,11,15 2,6,10,14 0,4,8,12
0,5,10,15 3,6,9,12 4,8,7,11 1,2,13,14
0,4,8,12 1,5,9,13 2,6,10,14 3,7,11,15
2,6,10,14 0,4,8,12 3,7,11,15 1,5,9,13
3,7,11,15 2,6,10,14 1,5,9,13 0,4,8,12
4,5,8,9, 2,3,12,13 0,1,6,7 10,11,14,15
13,15,3,7 2,6,9,12 0,4,8,11 1,5,10,14
2,3,6,7 10,11,14,15 4,5,8,9 0,1,12,13
2,6,8,12 3,7,11,15 0,4,10,14 1,5,9,13
5,7,10,13 4,6,12,15 0,2,8,11 1,3,9,14
0,4,9,13 1,5,8,12 3,7,10,14 2,6,11,15
3,7,8,12 0,4,10,14 2,6,11,15 1,5,9,13
0,1,2,3 4,5,6,7 8,9,10,11 12,13,14,15

Таблица 3.1.1 показывает, какую операцию должна использовать криптосистема для указанного десятичного значения гаммы. Например, для варианта 17, если гамма равна 0, то выполняемая операция будет Задания на выполнение лабораторной работы - student2.ru . Если значение гаммы равно 11, то операция на передающей стороне будет Задания на выполнение лабораторной работы - student2.ru и т.д.

Наши рекомендации