Реализация симметричного шифрования на языке программирования C++
Конференция: CX Студенческая международная научно-практическая конференция «Молодежный научный форум»
Секция: Технические науки
лауреатов
участников
лауреатов
участников
CX Студенческая международная научно-практическая конференция «Молодежный научный форум»
Реализация симметричного шифрования на языке программирования C++
Аннотация. В статье рассматривается способ реализации симметричного шифрования и дешифрования строки используя операцию XOR на языке программирования c++
Abstract. The article discusses a way to implement symmetric encryption and decryption of a string using the XOR operation in the c ++ programming language
Ключевые слова: c++, симметричное шифрования, xor
Keywords: c++, symmetric encryption, xor
Постановка проблемы
При передаче сообщения от одного пользователя к другому требуется его шифрование, когда сервер шифрует тысячи сообщений ежесекундно на первое место выводиться вопрос о производительности.
Результаты исследования
Введение. Серверные решения для программ выполняющих множество ежесекундных операций, в основном, пишутся на языке программирования c++, так как одним из его преимуществ является скорость исполнения инструкций.
Шифрование сообщений является одной из основных частей сервера если необходимо передать сообщение клиенту, так как прежде чем дойти до получателя оно пройдёт через множество узлов, некоторые из которых могут быть скомпрометированы.
Реализация симметричного шифрования сообщения.
Для корректной работы подключим библиотеку iostream
Чтобы зашифровать сообщение реализуем функцию xor_operation, отвечающую за шифрование данных на основе ключа, который поступает на вход в функцию.
На 2 строке считываем длину поступившего на вход сообщения, это пригодиться в дальнейшем, на следующей, 3 строке, объявлена переменная readyData, отвечающая за конечное зашифрованное/дешифрованное сообщение.
Далее копируем полученные на входе данные в переменную, объявленную на строке 3. На 8 строке выполняется непосредственное шифрование при помощи операции XOR, главное преимущество которой заключается в том, что можно зашифровать и дешифровать одно и то же сообщение с помощью единственного ключа.
Ниже представлен код функции main, в котором сообщение шифруется и дешифруется с помощью ключа, объявленного на 3 строке.
На рисунке 1 изображены данные, выведенные в консоль, сначала выводится первоначальное сообщение, затем зашифрованное ключом, а далее расшифрованное этим же ключом.
Рисунок 1. Пример работы программы
Вывод
Представленное решение позволяет реализовать симметричное шифрования сообщений на языке программирования c++ и может использоваться как отдельный модуль для сервера.