Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

[Alekseev_A.P.]_Informatika_2015(z-lib.org)

.pdf
Скачиваний:
220
Добавлен:
26.01.2020
Размер:
8.07 Mб
Скачать

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

261

__________________________________________________________________________________

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

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

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

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

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

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

M G G M .

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

R Ci Ci T M i Gi M i T Gi T M i M i T

Это объясняется тем, что Gi Gi T , то есть элементы гаммы повто-

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

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

262 Моделирование криптосистем с помощью Multisim

__________________________________________________________________________________

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

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

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

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

Имитация передающей и приёмной сторон криптосистемы осуществляется с помощью двух арифметико-логических устройств 74281J. Четырехбитный открытый текст M подаётся на вход А первого арифметико-

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

263

__________________________________________________________________________________

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

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

M - открытый текст (сообщение); G - гамма; K - криптограмма; -

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

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

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

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

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

264

 

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

__________________________________________________________________________________

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1

 

 

Операции

 

Операции

 

 

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

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

 

1.

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

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

 

 

 

K M G

 

M ` K G

 

2.

 

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

 

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

 

 

K

 

 

 

 

M G

M `

 

 

K G

 

 

M G

K G

 

3.

 

Сложение

 

Вычитание

 

 

 

K M G

 

M ` K G

 

4.

 

Вычитание

 

Сложение

 

 

 

K M G

 

M ` K G

 

5.

 

Вычитание

 

Вычитание

 

 

 

K G M

 

M ` G K

 

6.

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

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

 

 

 

K

 

 

 

 

 

 

 

 

 

 

 

M `

 

G

 

 

 

M G

 

 

 

 

 

K

 

7.

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

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

 

 

 

K

 

 

 

 

 

 

 

 

 

M `

 

G

 

 

 

M G

 

 

 

 

K

 

8.

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

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

 

 

 

K

 

 

 

 

 

 

 

 

 

M ` G

 

 

 

 

 

 

 

G M

 

 

 

 

K

 

9.

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

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

 

 

 

K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M

G

 

 

M ` K

 

 

 

 

 

 

 

 

G

 

10.

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

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

 

 

 

K M

 

 

 

M ` K

 

 

 

 

 

G

 

G

 

11.

 

Умножение

 

Деление

 

 

 

K M G

 

M K / G

 

12.

 

Деление

 

Умножение

 

 

 

K M / G

 

M K G

 

13.

 

Деление

 

Деление

 

 

 

K G / M

 

M G / K

 

14.

 

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

 

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

 

 

 

K f (M ,G)

 

M f 1 (K,G)

 

15.

 

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

 

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

 

 

 

K M n G s

 

M n K G s

 

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

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

265

__________________________________________________________________________________

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

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

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

В виду того, что логические операции M G M G эквива-

лентны операции неравнозначности M G , использовать все три операции при шифровании не имеет смысла, так как криптограммы будут одинаковы-

ми. Аналогично операции M G M G сводятся к операции равнозначности M G . Таким образом, из рассмотренных шести операций сле-

дует использовать только две: равнозначность и неравнозначность.

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

M G G M M G

M G G M M G

G M M G M G

G M M G M G

M G G M

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

M G , M G , M G , M G и G M .

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

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

266

 

 

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

 

 

__________________________________________________________________________________

 

 

 

 

 

 

 

 

 

 

Таблица 2

 

Гамма

 

 

 

Управляющие

 

 

 

 

п/п

 

 

 

 

 

 

 

 

B3B2B1B0

Операция

сигналы

 

Мod

CN

 

 

 

(BCDE)

 

 

 

S3 S2 S1S

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0 0 0

 

 

 

0

1 1 0

 

 

 

 

 

1

0

0 0 1

 

M G

0

1 1 0

 

1

x

 

 

2

0

0 1 0

 

0

1 1 0

 

 

 

 

 

 

 

 

 

 

 

3

0

0 1 1

 

 

 

0

1 1 0

 

 

 

 

 

4

0

1 0 0

 

 

 

1

0 0 1

 

 

 

 

 

5

0

1 0 1

 

 

 

1

0 0 1

 

 

 

 

 

 

M G

 

1

x

 

 

6

0

1 1 0

 

1

0 0 1

 

 

 

 

 

 

 

 

 

 

 

7

0

1 1 1

 

 

 

1

0 0 1

 

 

 

 

 

8

1

0 0 0

 

 

 

0

1 1 0

 

 

 

 

 

9

1

0 0 1

 

M G

0

1 1 0

 

0

0

 

 

10

1

0 1 0

 

0

1 1 0

 

 

 

 

 

 

 

 

 

 

 

11

1

0 1 1

 

 

 

0

1 1 0

 

 

 

 

 

12

1

1 0 0

 

 

 

1

0 0 1

 

 

 

 

 

13

1

1 0 1

 

M G

1

0 0 1

 

0

1

 

 

14

1

1 1 0

 

1

0 0 1

 

 

 

 

 

 

 

 

 

 

 

15

1

1 1 1

 

 

 

1

0 0 1

 

 

 

 

В таблице символом «х» обозначены безразличные состояния ПК. Вход Mod определяет, какую операцию выполняет АЛУ: логическую или

арифметическую. Входы S3 S2 S1S0 и Mod предназначены для формирова-

ния управляющих сигналов, которые позволяют выбрать одну из 32-х возможных операций данного АЛУ.

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

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

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

267

__________________________________________________________________________________

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

S3 S0 2 2 S2 S1 2 2 , Mod 3

CN 2 2 S3 .

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

S3 S0 3 2 3 2 3 2 3 2 S2 S1 3 2 3 2 3 2 3 2 Mod 3 ,

CN 2 2 .

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

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

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

сунка.

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

268 Моделирование криптосистем с помощью Multisim

__________________________________________________________________________________

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

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

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

Обзор математических и статистических систем

269

__________________________________________________________________________________

8.Математические и статистические системы

8.1.Обзор математических и статистических систем

Влюбой науке столько истины, сколько в ней математики.

И. Кант

Новые информационные технологии коренным образом изменили порядок решения математических задач. Теперь решение задач и выполнение математических преобразований целесообразно производить с помощью специальных программ. Рассмотрим некоторые математические и статистические пакеты программ для ЭВМ.

Математические системы Derive, Mathematica, MATLAB, Maple V и Mathcad могут быть успешно использованы при решении большого числа различных технических, экономических, статистических и научных задач.

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

вольной математикой.

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

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

Mathematica разработана компанией Wolfram Research Inc, основанной известным математиком и физиком С. Вольфрамом. Система позволяет решать широкий круг задач. Её разработчики задались целью объединить все известные математические методы, использующиеся для решения научных задач, включая аналитические и численные расчеты.

Система Mathematica позволяет упрощать алгебраические выражения, дифференцировать, вычислять определенные и неопределенные интегралы, вычислять конечные и бесконечные суммы и произведения, решать алгеб-

270 Обзор математических и статистических систем

__________________________________________________________________________________

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

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

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

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

Воснову создания системы MATLAB (MATrix LABoratory — матричная лаборатория) положен принцип расширяемости, позволяющий адаптировать (приспособить) систему под задачи пользователя.

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

Вбазовый набор MATLAB входят арифметические, алгебраические, тригонометрические и некоторые специальные функции, функции быстрого прямого и обратного преобразования Фурье и цифровой фильтрации, векторные и матричные функции. MATLAB «умеет» выполнять операции с полиномами и комплексными числами, строить графики в декартовой и полярной системах координат, формировать изображения трехмерных поверхностей. MATLAB имеет средства для расчета и проектирования аналоговых и цифровых фильтров, построения их частотных, импульсных и переходных характеристик и таких же характеристик для линейных электрических цепей, средства для спектрального анализа и синтеза.

Для решения задач моделирования программа MATLAB дополнена пакетом SIMULINK c визуально-ориентированным программированием.

Разработчики пакета Maple V называют его Symbolic Computation System (Система символьных вычислений) или Computer Algebra System (Система компьютерной алгебры). Maple V — универсальный математический пакет, предназначенный для выполнения разнообразных математических вычислений, как точных (аналитических), так и приближенных (с использованием численных методов), а также для построения двух- и трехмерных графиков.

Основное преимущество системы — всесторонняя поддержка сложных символьных вычислений, мощные графические возможности и наличие