Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Информатика 2015

7.3. Моделирование с помощью Multisim

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

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

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

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

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

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

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

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

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

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

На рисунке показана структурная схема криптографической системы с управляемыми операциями шифрования. Моделирование этой системы можно осуществить с помощью программы Multisim.

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

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

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

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

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

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

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

Таблица 1

Операции

на передающей стороне

Операции

на приёмной стороне

1.

Неравнозначность

K = M®G

Неравнозначность

М'= K&G

2.

Равнозначность

К = М ® G — М ос G

Равнозначность

М'= K®G=KccG

3.

Сложение

K = M+G

Вычитание

М'= К-G

4.

Вычитание

K=M-G

Сложение

М'= K + G

5.

Вычитание

K = G-M

Вычитание

М'= G-K

6.

Инверсия от суммы

K = M+G

Комбинированная разность

М = К-G

7.

Инверсия от разности

K=M-G

Комбинированная сумма

М'= К+ G

8.

Инверсия от разности

K=G-M

Комбинированная разность

М'= G-К

9.

Комбинированная сумма

к=м+и

Комбинированная разность

М'=К-П

10.

Комбинированная разность

K = M-G

Комбинированная сумма

M'=K + G

11.

Умножение

K = MG

Деление

М = K/G

12.

Деление

К = M/G

Умножение

M=KG

13.

Деление

К = GIM

Деление

M = GIK

14.

Функциональные

K=f(M,G)

Функциональные

м= ГЧК,С)

15.

Алгебраические

К =Mn±Gs

Алгебраические

M = ?jK + Gs

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

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

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

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

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

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

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

Одна из множества возможных таблиц истинности, которая описывает работу ПК1 на передающей стороне, представлена ниже. Такие таблицы совместно с гаммой являются ключевой информацией.

Таблица 2

п/п

Г амма

В3В2В1В0

(BCDE)

Операция

Управляющие сигналы S3 S2 S] Sq

Mod

Cn

0

0 0 0 0

0 110

1

X

1

0 0 0 1

0 110

2

0 0 10

0 110

3

0 0 11

0 110

4

0 10 0

10 0 1

1

X

5

0 10 1

10 0 1

6

0 110

10 0 1

7

0 111

10 0 1

8

10 0 0

M-G

0 110

0

0

9

10 0 1

0 110

10

10 10

0 110

И

10 11

0 110

12

110 0

M + G

10 0 1

0

1

13

110 1

10 0 1

14

1110

10 0 1

15

1111

10 0 1

В таблице символом «х» обозначены безразличные состояния ПК. Вход Mod определяет, какую операцию выполняет АЛУ: логическую или арифметическую. Входы S,S2 S{ S0 и Mod предназначены для формирования управляющих сигналов, которые позволяют выбрать одну из 32-х возможных операций данного АЛУ.

Для приёмной стороны составляется аналогичная но форме таблица истинности.

Внешний вид конвертора, позволяющего синтезировать комбинационные цифровые устройства, показан на рисунке.

С помощью логического конвертора получены выражения, описывающие работу ПК1, находящегося на передающей стороне:

Аналогично можно получить выражения для ПК2, работающего на приёмной стороне.

На основании полученных выражений составляются принципиальные схемы преобразователей кодов. Разработанная модель криптографической системы работает с использованием четырёх операций: Исключающее ИЛИ, равнозначность, сложение и вычитание. При этом результат вычитания формируется на выходе АЛУ в дополнительном коде. Смена сеансового ключа имитируется с помощью переключателя А. Схема криптосистемы приведена на рисунке.

Исходный текст, принятый текст, гамма и криптограмма отображались с помощью индикаторов U3...U6. Значения гаммы и передаваемый текст формировались с помощью генератора слов XWG1 (Word Generator).

Преобразователи кодов ПК1 и ПК2 расположены в нижней части рисунка.

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

Кроме того, при моделировании считается, что операнды, циркулирующие в криптосистеме, являются четырехразрядными целыми числами. Диапазоны изменения чисел составляют 0 < М < 15 и 0 < G < 15 . В действующей криптосистеме разрядность операндов должна быть, но крайней мере, в два раза больше. И ещё, в реальной криптосистеме при формировании крип тограммы возможно использование не только целых, но и вещественных чисел.

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

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
 

Популярные страницы