13527

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

Лабораторная работа

Информатика, кибернетика и программирование

Моделирование криптосистем с помощью программы Multisim 1. Подготовка к работе По указанной литературе и Приложению к данным методическим указаниям изучить работу пакета Electronics Wokbench Multisim принцип гаммирования ответить на контрольные вопросы. 2. Контрольные воп...

Русский

2013-05-11

554.5 KB

42 чел.

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

программы Multisim

1. Подготовка к работе

По указанной литературе и Приложению к данным методическим указаниям изучить работу пакета Electronics Wokbench (Multisim), принцип гаммирования, ответить на контрольные вопросы.

2. Контрольные вопросы

2.1. В чем состоит основная идея криптографии?

2.2. Дайте определение последовательностных цифровых устройств

2.3. Запишите закон де Моргана.

2.4. Перечислите возможности прибора Logic ConverterXLC1.

2.5. Составьте таблицу истинности логического элемента ИЛИ-НЕ

2.6. Составьте таблицу истинности логического элемента И-НЕ.

2.7. Запишите тождества алгебры логики.

2.8. Как записывается логическая функция в совершенной дизъюнктивной нормальной форме (СДНФ)?

2.9. Как записывается логическая функция в совершенной конъюнктивной нормальной форме (СКНФ)?

2.10. Дайте определение комбинационного цифрового устройства.

2.11. Запишите законы алгебры логики.

2.12. Опишите методику синтеза ПК с помощью диаграмм Вейча.

2.13. Как представить отрицательное число в дополнительном коде?

2.14. Чем отличаются логические и арифметические операции?

2.15. Для чего используются в АЛУ выводы M и CN?

2.16. Чем отличаются комбинационные цифровые устройства от последовательностных цифровых устройств?

2.17. Охарактеризуйте различные версии программы Electronics Workbench.


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

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

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

Таблица 3.1.1

Варианты

Значения гаммы G

1

0,5,6,7

1,3,11

2,8,12,15

4,9,10,13,14

2

2,3,7,11

8,12,14,15

0,1,5,9,13

4,6,10

3

0,1,4,5

2,3,12,14,15

6,8,10

7,9,11,13

4

0,13,14,15

4,6,8,10,12

1,3,5

2,7,9,11

5

1,5,9,13

3,7,11,15

2,6,10,14

0,4,8,13

6

0,5,10,15

3,6,9,12

4,8,7,11

1,2,13,14

7

0,4,8,12

1,5,9,13

2,6,10,14

3,7,11,15

8

2,6,10,14

0,4,8,12

3,7,11,15

1,5,9,13

9

3,7,11,15

2,6,10,14

1,5,9,13

0,4,8,12

10

4,5,8,9,

2,3,12,13

0,1,6,7

10,11,14,15

11

13,15,3,7

2,6,9,12

0,4,8,11

1,5,9,10,14

12

2,3,6,7

10,11,14,15

4,5,8,9

0,1,12,13

13

2,6,8,12

3,7,11,15

0,4,10,14

1,5,9,13

14

5,7,10,13

4,6,12,15

0,2,8,11

1,3,9,14

15

0,4,9,13

1,5,8,12

3,7,10,14

2,6,11,15

16

3,7,8,12

0,4,10,14

2,6,11,15

1,5,9,13

17

0,1,2,3

4,5,6,7

8,9,10,11

12,13,14,15

Таблица 3.1.1 показывает, какую операцию должна использовать криптосистема для указанного значения гаммы.

Например, для варианта 17, если гамма равна 0, то выполняемая операция будет . Если значение гаммы равно 11, то операция на передающей стороне будет .


3.1.2. Задание 2. Разработка принципиальной схемы криптографической системы

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

Пример составления схемы приведен в методических указаниях.

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

Значения операндов открытого текста в зависимости от значения гаммы и номера варианта выбрать из таблицы.

    Таблица 3.1.2

Гамма (G)

Варианты

Открытый текст (М)

0

1

2

3

4

5

6

7

1

1

2

3

4

5

6

7

8

2

2

3

4

5

6

7

8

9

3

3

4

5

6

7

8

9

10

4

4

5

6

7

8

9

10

11

5

5

6

7

8

9

10

11

12

6

6

7

8

9

10

11

12

13

7

7

8

9

10

11

12

13

14

8

8

9

10

11

12

13

14

15

9

9

10

11

12

13

14

15

0

10

10

11

12

13

14

15

0

1

11

11

12

13

14

15

0

1

2

12

12

13

14

15

0

1

2

3

13

13

14

15

0

1

2

3

4

14

14

15

0

1

2

3

4

5

15

15

0

1

2

3

4

5

6

16

0

1

2

3

4

5

6

7

17

3

0

1

2

6

7

4

5

      


Продолжение таблицы 3.1.2

Гамма (G)

Варианты

Открытый текст (М)

8

9

10

11

12

13

14

15

1

9

10

11

12

13

14

15

0

2

10

11

12

13

14

15

0

1

3

11

12

13

14

15

0

1

2

4

12

13

14

15

0

1

2

3

5

13

14

15

0

1

2

3

4

6

14

15

0

1

2

3

4

5

7

15

0

1

2

3

4

5

6

8

0

1

2

3

4

5

6

7

9

1

2

3

4

5

6

7

8

10

2

3

4

5

6

7

8

9

11

3

4

5

6

7

8

9

10

12

4

5

6

7

8

9

10

11

13

5

6

7

8

9

10

11

12

14

6

7

8

9

10

11

12

13

15

7

8

9

10

11

12

13

14

16

8

9

10

11

12

13

14

15

17

10

11

8

9

14

15

12

13

Таблицу 3.1.2 нужно понимать так. Значения гаммы G для всех вариантов одинаковые 0…15 (верхняя строка чисел). Открытый текст М имитируется числами (для каждого варианта своя последовательность).  Например, для варианта 17 эта последовательность такова 3- 0 - 1-…12 - 13.

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

       Таблица 3.1.3

№ п/п

Значение гаммы (G)

Значение открытого текста (М).

Вариант 17

Значение криптограммы (К). Результаты моделирования

Значение криптограммы (К). Результаты ручного расчета

1

0

3

2

1

0

16

15

13


4. Методические указания

Моделирование данной криптосистемы производится с помощью программы Multisim 8.2.12 Professional. Открытый текст, гамма, криптограмма представлены четырехразрядными двоичными операндами, а управляющие сигналы формируются  с помощью пяти битов. Структурная схема приведена на рисунке 1.

Рис. 1. Структурная схема криптографической системы

Передающая и приемная стороны имитируются с помощью двух четырехразрядных арифметико-логических устройств (АЛУ). На передающей стороне вход M используется для подачи открытого текста, вход G - для подачи гаммы. На приемной стороне вход K используется для приема криптограммы, вход G – для подключения гаммы. Потоки открытого текста и гаммы формируются с помощью шестнадцатиразрядного генератора двоичных слов. Для контроля результатов преобразований (открытого текста на приемной и передающей сторонах, гаммы и криптограммы) используют четыре шестнадцатеричных индикатора.

Изменение вида выполняемой операции осуществляется с помощью преобразователя кода (ПК 1 и ПК 2), на вход которого подается гамма (4 бита), а выход которого подключается к управляющим входам АЛУ (5 битов). Сигналы на управляющих входах АЛУ определяют вид выполняемой операции. Изменение гаммы приводит к изменению сигналов на выходе преобразователя кода, а, значит, и к изменению управляющих сигналов на передающей и приемной сторонах.

Для начала требуется произвести синтез преобразователей кода, которые будут подключены к арифметико-логическим устройствам и определять вид выполняемой операции. Используя таблицу 3.1.1, составим таблицу истинности для варианта 17

Таблица 2

№ п/п

Гамма

(BCDE)

Операция

Управляющие сигналы

Мod

CN

0

0  0  0  0

0  1  1  0

1

x

1

0  0  0  1

0  1  1  0

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

1

x

5

0  1  0  1

1  0  0  1

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

0

0

9

1  0  0  1

0  1  1  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

0

1

13

1  1  0  1

1  0  0  1

14

1  1  1  0

1  0  0  1

15

1  1  1  1

1  0  0  1

Первые два столбца таблицы будут одинаковыми для всех вариантов, столбец «Управляющие сигналы» составить следующим образом (на примере варианта № 17): для гаммы равной значениям «0», «1», «2», «3» выполняется операция , поэтому для пунктов 0-3 ставится в соответствие данная операция. Другие строки таблицы заполняются аналогично. Столбец «Операция» заполняется исходя из столбца «Управляющие сигналы». Столбец «Mod» определяет, какую операцию выполняет АЛУ: логическую (его значение равно 1) или арифметическую(значение равно 0). Значение CN означает перенос в разрядах: для логических операций безразлично, какое значение примет, поэтому обозначено символом «х», для арифметического вычитания равно «0», для арифметического сложения – «1». Соответствие управляющих сигналов и операций следующее:

«» – «0 1 1 0», «» – «1 0 0 1»,

«» – «0 1 1 0», «» – «1 0 0 1»

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

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

Рис. 2. Изображение логического конвектора

Для этого нужно запустить Multisim. На панели справа найти нужный блок (он четвертый снизу), однократным щелчком мыши переместить его на рабочее поле. Далее нужно вызвать окно свойств двойным нажатием левой кнопки мыши и внести таблицу истинности в конвертор. Это действие следует произвести для каждого управляющего сигнала (S) в отдельности. Анализируя таблицу, можно заметить, что , . Это означает, что выражения для этих управляющих сигналов будут одинаковыми. Для сигналов Мod и CN  также нужно получить логические выражения аналогичным способом. Логические выражения по управляющим сигналам получить последовательным нажатием на вторую и третью кнопки в окне свойств логического конвертора в поле «Conversions». В качестве примера получим выражение для для варианта 17 (рис.3).

Рис. 3. Окно свойств логического конвектора

Как видно из рис. 3, результат синтеза – В. Учитывая последовательность ввода операндов и их соответствие операндам S, получаем выражение .

Для справки: символ А в данном окне соответствует разряду гаммы В3, символ В – В2, С – В1, D – В0.

Аналогично получаем следующее:

,, .

Эти выражения для преобразователя кода на передаче.

Теперь аналогично выполним синтез ПК на приеме. Для этого нужно изменить таблицу истинности (изменить управляющие сигналы S). При этом нужно помнить, что логические выражения для приема и передачи не изменятся, а арифметические поменяются на прямо противоположные, т.е., если на передаче у нас было арифметическое сложение, то на приеме будет арифметическое вычитание, и наоборот. В итоге таблица истинности примет следующий вид (обратить внимание, что CN также поменяло свои значения).


   Таблица 3

№ п/п

Гамма

(BCDE)

Операция

Управляющие сигналы

Мod

CN

0

0  0  0  0

0  1  1  0

1

x

1

0  0  0  1

0  1  1  0

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

1

x

5

0  1  0  1

1  0  0  1

6

0  1  1  0

1  0  0  1

7

0  1  1  1

1  0  0  1

8

1  0  0  0

1  0  0  1

0

1

9

1  0  0  1

1  0  0  1

10

1  0  1  0

1  0  0  1

11

1  0  1  1

1  0  0  1

12

1  1  0  0

0  1  1  0

0

0

13

1  1  0  1

0  1  1  0

14

1  1  1  0

0  1  1  0

15

1  1  1  1

0  1  1  0

Выражения на приеме примут вид , , , .

На основе этих выражений и «собираем» ПК на передаче и приеме, подключаемые к АЛУ. В итоге принципиальная схема примет вид (рис.4)

Рис. 4. Принципиальная схема криптосистемы

Четырехбитный открытый текст подается на вход А первого арифметико-логического устройства (АЛУ). Гамма подается на вход В. Вид выполняемой операции должен задаваться с помощью преобразователя кода ПК1. Криптограмма будет формироваться на выходе F первого АЛУ. Дешифрация криптограммы будет осуществляться на приемной стороне с помощью второго АЛУ. Вид выполняемой операции синхронно изменяется под управлением гаммы. Принятый открытый текст появлялся  на выходе F второго АЛУ.

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

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

Кроме того, при моделировании считается, что операнды, циркулирующие в криптосистеме,  являются четырехразрядными целыми числами. Диапазоны изменения чисел составляли  и .

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

На следующем этапе выполнения лабораторной работы следует проверить правильность работы схемы. Для этого в окне свойств генератора слов XWG1 нужно выставить значения гаммы и открытого текста, как показано на рисунке 5, и нажатием на клавишу Step, поочередно проверить все операции. Для удобства флажок таблицы исчисления должен стоять на «Hex», значащееся разряды крайние справа: например «0», «6», где «0» – это значение гаммы, а «6» – значение открытого текста. Нужно помнить – числу «10» соответствует буква «А», «11» – «В», «12» – «C», «13» – «D», «14» – «E», «15» – «D».

Рис. 5. Окно свойств генератора слов

Как видно из рисунка 5, выполняется 3-я по счету операция, в таблице 2 – это операция Исключающее-ИЛИ. Складываются по модулю 2 числа «2» и «1». Выполнив эту операцию с числами в двоичном коде, получим ответ «3», что и получили на выходе первого АЛУ (криптотекст), а на выходе второго АЛУ получили ответ «1», что соответствует значению открытого текста на входе первого АЛУ, следовательно, операция криптосистемой выполнена верно. Аналогично проверяются и другие строки таблицы.

Результаты проверки следует внести в таблицу 3.1.3.


 

А также другие работы, которые могут Вас заинтересовать

19053. Метод вторичного квантования. Операторы уничтожения и рождения. Коммутационные соотношения 542 KB
  Лекция 35 Метод вторичного квантования. Операторы уничтожения и рождения. Коммутационные соотношения При вычислении средних значений или вероятностей переходов квантовых систем состоящих из большого количества частиц приходится вычислять интегралы вида кванто
19054. Квантовое описание рассеяния. Амплитуда и сечение рассеяния. Оптическая теорема 274.5 KB
  Лекция 36 Квантовое описание рассеяния. Амплитуда и сечение рассеяния. Оптическая теорема Процессом рассеяния называется отклонение частиц от первоначального движения благодаря взаимодействию с рассевателем. Процесс рассеяния дает информацию о взаимодействии ра
19055. Борновское приближение. Условия применимости. Быстрые и медленные частицы 373 KB
  Лекция 37 Борновское приближение. Условия применимости. Быстрые и медленные частицы. Примеры Полученная в конце прошлой лекции формула для амплитуды рассеяния 1 не является решением задачи рассеяния поскольку в подынтегральное выражение в правой части 1 вх...
19056. Разложение волновой функции задачи рассеяния по сферическим функциям. S-матрица. Фазовая теория рассеяния 324 KB
  Лекция 38 Разложение волновой функции задачи рассеяния по сферическим функциям. Sматрица. Фазовая теория рассеяния Наряду с теорией рассеяния изложенной в предыдущей лекции часто используется другой вариант теории именуемый фазовой теорией рассеяния. Основная и
19057. Математические основы квантовой механики: линейные пространства, операторы, матрицы 171 KB
  Семинар 1. Математические основы квантовой механики: линейные пространства операторы матрицы функция Дать определения: линейных пространств дискретного и непрерывного базиса скалярного произведения. Привести примеры пространств. Дать определения оператора лин...
19058. Математические основы квантовой механики: уравнения на собственные значения и собственные функции 344.5 KB
  Семинар 2. Математические основы квантовой механики: уравнения на собственные значения и собственные функции Напомнить что называется уравнением на собственные значения и собственные функции. Дать общую классификацию возможных решений: непрерывный и дискретный спе...
19059. Основные принципы квантовой механики и их простейшие следствия 204.5 KB
  Семинар 3. Основные принципы квантовой механики и их простейшие следствия Кратко перечислить основные физические принципы и постулаты квантовой механики. Обсудить основные схему рассмотрения любых квантовомеханических задач: решение уравнения Шредингера уравнени
19060. Операторы координаты и импульса 696 KB
  Семинар 4. Операторы координаты и импульса Напомнить какие операторы отвечают координате и импульсу в квантовой механике. Кратко обсудить основные идеи построения этих операторов. Сформулировать цель занятия исследование свойств операторов координаты и импульса...
19061. Операторы координаты и импульса (продолжение). Различные представления волновой функции 96 KB
  Семинар 5. Операторы координаты и импульса продолжение. Различные представления волновой функции Напомнить и обсудить основную идею различных представлений волновой функции в квантовой механике разложение по системам собственных функций тех или иных операторов. ...