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

  1. Цель работы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В качестве шифрующих преобразований можно использовать различные логические и арифметические операции, а также математические функции и их комбинации [12]. Некоторые из них перечислены в таблице 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 .

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