Модули шифрации и дешифрации криптографического преобразователя

Шифрование данных аппаратно-программным способом. Подробное описание математической модели криптографического преобразователя с использованием современного метода "карт Карно". Алгоритм разработки и минимизаций логических функций шифрования и дешифрации.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 05.08.2020
Размер файла 822,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МОДУЛИ ШИФРАЦИИ И ДЕШИФРАЦИИ КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАТЕЛЯ

Колотовкин Максим Ильич,

Московский государственный технический университет

студент кафедры «Компьютерные системы и сети»,

факультет «Информатика и системы управления» г. Москва, Россия

Куклина Нина Ильинична,

Московский государственный технический университет студент кафедры «Компьютерные системы и сети», факультет «Информатика и системы управления» г. Москва, Россия

Талапкалиева Зарина,

Московский государственный технический университет студент кафедры «Компьютерные системы и сети», факультет «Информатика и системы управления» г. Москва, Россия

Аннотация

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

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

математический криптографический алгоритм шифрование

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

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

Разработка структурной схемы криптографического преобразователя

Разрабатываемая система криптографического преобразователя (КП), должна выполнять следующие функции:

1. Ввод данных путём использования традиционных устройств ввода (клавиатура)

2. Передача данных на модуль шифрации информации

3. Передача зашифрованных данных на модуль дешифрации информации

4. Вывод расшифрованных данных на традиционное устройство вывода (монитор)

В соответствии с поставленными задачами разработана структурная схема криптографического преобразователя (Рисунок 1), включающая в себя два основных модуля: модуль шифрации (Рисунок 1(a)) и дешифрации (Рисунок 1(б)).

Рис. 1. Структурная схема КП

Модуль шифрации данных

А) Схема управления для чтения информации с клавиатуры и передачи данных на программную плату Arduino Uno - передатчик данных;

Б) Схема шифрации данных.

Модуль дешифрации данных

А) Схема дешифрации данных, полученных от блока шифрации;

Б) Схема управления для приёма расшифрованных данных с программной платы Arduino Uno - приёмника данных и передачи полученной информации на традиционные устройства вывода.

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

Пользователем-отправителем с клавиатуры вводится символ, который передается через COM-порт (COM 1) на схему управления модуля шифрации КП (программная плата Arduino Uno). Схема управления преобразует полученный символ в 8-ми разрядный двоичный код и передает данный код на вход схемы шифрации этого модуля. На схеме шифрации происходит шифрование данных и передача 16-ти разрядного зашифрованного набора данных на схему дешифрации модуля дешифрации КП.

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

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

Разработка математической модели криптографического преобразователя

Для реализации шифрации данных был выбран следующий алгоритм действий:

Декомпозиция схемы шифрации на 4 основных блока с целью упрощения сложности схемы;

Реализация схемы шифрации для каждого из полученных после разбиения блоков. Уравнения для реализации каждого блока схемы шифрации были получены на основе разработанных наборов вывода логических уравнений и их минимизация путём использования метода «карт Карно».

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

Рис. 2. Алгоритм разработки и минимизаций логических функций шифрования

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

Для реализации дешифрации данных, поступивших на вход модуля дешифрации КП от модуля шифрации КП, разработан алгоритм дешифрации данных, реализованный следующим образом:

1. Схема дешифрации данных разбивается на четыре основных блока (Рисунок 3), согласованных с выходными сигналами (g1, g2, g3, g4), поступающими с модуля шифрации.

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

3. Каждый из блоков схемы дешифрации передаёт на свой выход номер поданного на модуль шифрации КП набора, посредствам вектора значений (An.1, An.2, An.3, An.4), где n -- номер блока дешифрации. Таким образом, благодаря полученным номерам наборов имеется возможность полностью восстановить данные, которые были поданы на модуль шифрации КП, так как мы заранее знаем соответствие входных наборов и их номеров.

Каждый блок дешифрации данных выдаёт на выходе четыре сигнала An.1, An.2, An.3, An.4. В каждый момент времени только на одном из четырёх выходов может быть логическая единица. На всех остальных выходах будет логический ноль. Если данное правило не будет выполнятся, схема модуля дешифрации обнаружит ошибку и выдаст соответствующее оповещение пользователю. Номер выхода, на котором после дешифрации данных будет находиться логическая единица совпадает с номером входного набора таблицы ASCII).

Выбор компонентной базы схемы управления

Для реализации механизма отправки считанных с клавиатуры данных на схему шифрации и для реализации передачи расшифрованной информации на устройства вывода данных были спроектированы и встроены в систему управляющие блоки, реализованные на платформе программных плат Arduino. Данная программная плата включает в себя необходимые средства для взаимодействия с подключаемыми к ней электронными схемами и для описания алгоритмов работы платы на языке C++ [2]. Плата имеет две основных семейства, которые широко используются разработчиками: Uno и Leonardo. Так как Leonardo является более молодой моделью, на нее отсутствует масса библиотек на языке С++, например, библиотека для работы с классами, что ограничивает возможности реализации сложных структур данных.

Рис. 3. Функциональная схема модуля дешифрации КП

Выбор компонентной базы блоков шифрации и дешифрации

Для реализации шифрации и дешифрации было принято решение использовать элементы ТТЛ-логики, общепринятой в сообществе Arduino- разработчиков серии КР1533 [3]. Так как у Arduino-платформы и данных микросхем совпадают уровни логического нуля и единицы (??0 = 0.4В, ??1 = 2.5В) [4, 5], это дает возможность не вводить в схему лишние преобразователи уровней сигнала.

Так как функционирование модуля реализовано в базисе «И-НЕ», необходимо было выбрать микросхемы логического умножения и инверсии. Для реализации функции логического умножения была выбрана микросхема КР1533ЛИ1. Эта микросхема представляет собой четыре логических элемента «2И». Для реализации функции инверсии была выбрана микросхема КР1533ЛН1. Эта микросхема представляет собой шесть логических элементов «НЕ». Все неиспользуемые входы микросхемы должны быть подключены к земле. В этих микросхемах нужно либо подавать ток, либо не подавать, безо всяких промежуточных состояний.

Результаты

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

Список литературы

1. Петров А.А. Компьютерная безопасность: криптографические методы защиты. -- М.: ДМК, 2013. -- 445 с.

2. Michael Margoulis Arduino Cookbook. -- USA: O'Relly, 2014. -- 658 с.

3. Официальный сайт сообщества Arduino URL: http://arduino.ru (дата обращения: 05.05.2018).

4. КР1533ЛН1 Документация // ChipDip URL: https://lib.chipdip.ru/031/DOC001031266.pdf (дата обращения: 25.04.2018).

5. КР1533ЛИ1 Документация // ChipDip URL: https://lib.chipdip.ru/041/DOC001041536.pdf (дата обращения: 25.04.2018).

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.