13527

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

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

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

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

Русский

2013-05-11

554.5 KB

37 чел.

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

программы 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.


 

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

27591. Законодательное определение и критерии невменяемости. Уголовная ответственность лиц с психическими расстройствами, не исключающими вменяемости (ограниченная вменяемость) 34.5 KB
  Лицо находящееся в состоянии невменяемости не подлежит уголовной ответственности и не является субъектом преступления ст. Состояние невменяемости устанавливается заключением судебнопсихиатрической экспертизы. Юридический психологический критерий невменяемости имеет два признака: интеллектуальный признак т.
27593. Захват заложника 32.5 KB
  Захват заложника ст. Объективная сторона заключается в захвате или удержании лица в качестве заложника. Захват заложника – это открытое либо тайное с применением насилия или угрозы его применения либо без такового ограничение свободы его передвижения которое сопровождается в последующем открытым сообщением об этом и выдвигаемых условиях его освобождения.
27594. Изнасилование (ст. 131 УК). Отличие этого преступления от насильственных действий сексуального характера (ст. 132 УК) и от понуждения к действиям сексуального характера (ст. 133 УК). Половое сношение и иные действия сексуального характера с лицом, не дост 39.5 KB
  изнасилование половое сношение с применением насилия или с угрозой его применения к потерпевшей или другим лицам либо с использованием беспомощного состояния потерпевшей. Объектом этого преступления является половая свобода женщины а если потерпевшей является несовершеннолетняя или малолетняя то половая неприкосновенность ее. Потерпевшей может быть только женщина. Необходимо отметить что угроза может касаться не только потерпевшей но и других лиц судьба которых важна для потерпевшей например угроза убить мужа или детей женщины...
27596. Исправительные и обязательные работы как виды уголовного наказания. Их характеристика, порядок и условия применения 31 KB
  Исправительные и обязательные работы как виды уголовного наказания. Исправительные работы заключаются в принудительном привлечении осужденного к труду не имеющему основного места работы с удержанием в доход государства определенной доли из его заработка в размере установленном приговором суда. Исправительные работы включают следующие основные элементы: принудительное привлечение к труду; привлечение к труду лиц не имеющих основного места работы; отбывание наказания в местах определяемых органами местного самоуправления по...
27598. Конфискация имущества как мера уголовно-правового характера 30 KB
  Конфискация имущества как мера уголовноправового характера Уже прошло несколько лет с того момента когда в уголовном законе были произведены наиболее ожидаемые изменения Федеральным законом от 27 июля 2006 г. № 153 восстановлен институт конфискации имущества. № 162ФЗ не вызвало столь острых дискуссий на страницах юридической литературы как отмена конфискации имущества. В обновленной редакции конфискация имущества определяется как мера уголовноправового характера заключающаяся в принудительном безвозмездном обращении по решению суда в...
27599. Крайняя необходимость. Понятие и условия ее правомерности. Отличие крайней необходимости от необходимой обороны 30 KB
  Отличие крайней необходимости от необходимой обороны. 39 УК не является преступлением причинение вреда охраняемым уголовным законом интересам в состоянии крайней необходимости т. для устранения опасности непосредственно угрожающей личности и правам данного лица или иных лиц охраняемым законом интересам общества или государства если эта опасность не могла быть устранена иными средствами и при этом не было допущено превышение пределов крайней необходимости. Акт крайней необходимости является правом граждан но не обязанностью.