Модули шифрации и дешифрации криптографического преобразователя
Шифрование данных аппаратно-программным способом. Подробное описание математической модели криптографического преобразователя с использованием современного метода "карт Карно". Алгоритм разработки и минимизаций логических функций шифрования и дешифрации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 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
Подобные документы
Разработка криптографического алгоритма программы ручного шифра по таблице Виженера. Разработка программы, выполняющей шифрование и расшифрование. Особенности использования в качестве ключа самого открытого текста. Алгоритмы решения "обратных" задач.
курсовая работа [45,0 K], добавлен 13.11.2009Создание криптографического программного обеспечения, выполняющего шифрование по алгоритму RC6; электронную подпись на основе шифра Эль-Гамаля; задачу о нахождении гамильтонова цикла в графе. Алгоритм реализации гамильтонова цикла. Исходный код программы.
курсовая работа [365,9 K], добавлен 24.07.2015Реализация криптографического алгоритма шифрования и дешифрования с использованием шифра Виженера. Понятие и суть полиалфавитного шифра. Метод полиалфавитного шифрования буквенного текста с использованием ключевого слова. Взлом полиалфавитных шифров.
курсовая работа [863,0 K], добавлен 21.04.2012Исследование системы распределения ключей на основе линейных преобразований. Описание компонентов сети конфиденциальной связи. Характеристика отечественного алгоритма шифрования данных. Обзор результатов расчетов криптостойкости алгоритма шифрования.
контрольная работа [56,5 K], добавлен 26.09.2012Шифрование как способ преобразования открытой информации в закрытую и обратно, его основные этапы и назначение, сферы практического применения и оценка преимуществ. История AES, его описание и вспомогательные процедуры, а также программная реализация.
курсовая работа [994,9 K], добавлен 12.04.2012Разработка программы, реализующей процедуры шифрования и расшифрования текста по стандарту DES (Data Encryption Standard). Структура алгоритма шифрования, схема выработки ключевых элементов. Использование криптографического программного средства.
курсовая работа [1,7 M], добавлен 15.06.2013Состав, параметры технических средств. Выработка общего ключа для шифрования/расшифровки сообщения. Структура подключения ПЛИС с персональным компьютером по Ethernet. Модули формирования электронно-цифровой подписи. Архитектура стандарта Gigabit Ethernet.
дипломная работа [3,6 M], добавлен 13.09.2017Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.
курсовая работа [101,1 K], добавлен 09.03.2009Назначение электронной цифровой подписи как реквизита электронного документа, предназначенного для его защиты с помощью криптографического ключа. Асимметричные алгоритмы шифрования и атаки на электронную подпись. Средства работы с цифровой подписью.
реферат [20,6 K], добавлен 09.10.2014Особенности шифрования данных, предназначение шифрования. Понятие криптографии как науки, основные задачи. Анализ метода гаммирования, подстановки и метода перестановки. Симметрические методы шифрования с закрытым ключом: достоинства и недостатки.
курсовая работа [564,3 K], добавлен 09.05.2012