Научная статья на тему 'АЛГОРИТМЫ ШИФРОВАНИЯ ДАННЫХ'

АЛГОРИТМЫ ШИФРОВАНИЯ ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
540
34
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ШИФРОВАНИЕ / ДЕШИФРОВАНИЕ / АССИМЕТРИЧНОЕ / СИММЕТРИЧНОЕ / АЛГОРИТМ / КЛЮЧ / ДАННЫЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Галигузова Е.В., Илларионова Ю.Е.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «АЛГОРИТМЫ ШИФРОВАНИЯ ДАННЫХ»

Таблица 1

Сравнение REST и GraphQL

Критерии REST GraphQL

Описание Архитектурный стиль в значительной Язык запросов для решения

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

обычный стандарт для разработки API интеграции API

Архитектура Использует серверную архитектуру Использует клиентскую архитектуру

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

Отклик Вывод ответа в XML, JSON, YAML Вывод отклика в JSON

Чем определяется структура ответа Сервер Клиентский код

Кэширование Кэширование ответов по умолчанию Нет системы автоматического кэширования, но существуют клиенты для этого

Не предлагает безопасность типов или Предлагает безопасность типов и

автоматически сгенерированную автоматически генерируемую

документацию документацию

Таким образом, преимущества GraphQL перед REST очевидны, однако это не всегда лучший вариант для приложения. У GraphQL есть недостатки в обработке загрузки файлов и производительности по сравнению с REST API. Выбирая технологию, стоит учитывать особенности проекта: сложность, размер, потенциальное расширение и организацию процесса разработки. Тем не менее приложения, использующие GraphQL, могут быть быстрыми и стабильными, потому что они контролируют полученные данные, а не сервер.

Список использованной литературы:

1. Бэнкс А., Порселло Е. GraphQL. Язык запросов для современных веб-приложений. изд. — СПб.: Питер, 2019. — 240 с.

2. Buna S. GraphQL in action. 1st edition — Manning Publications, 2021. — 375 с.

3. Subramanian H. Hands-On RESTful API Design Patterns and Best Practices: Design, develop, and deploy highly adaptable, scalable, and secure RESTful web APIs. — Packt Publishing, 2019. — 378 с.

4. Сравнение скорости GraphQL и REST [Электронный ресурс]. Режим доступа: https://www.youtube.com/watch?v=c2nPMnI4XrY, свободный. - (дата обращения: 20.01.2023).

5. Обратная сторона GraphQL. [Электронный ресурс]. Режим доступа: https://www.youtube.com/watch?v=L0caEdAls9g, свободный. - (дата обращения: 20.01.2023).

6. Realm Web (демонстрация GraphQL). Режим доступа: https://www.youtube.com/watch?v=mRR-2A9gAAM, свободный. - (дата обращения: 22.01.2023).

© Галигузова Е.В., Илларионова Ю.Е., 2023

УДК 004.056.55

Галигузова Е.В.

Бакалавр 3 курса РТУ МИРЭА г. Москва, Россия Илларионова Ю.Е.

Бакалавр 3 курса РТУ МИРЭА г. Москва, Россия

АЛГОРИТМЫ ШИФРОВАНИЯ ДАННЫХ Аннотация

Шифрование каждый день обеспечивает личную безопасность миллиардов людей по всему миру.

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

Ключевые слова:

Шифрование, дешифрование, ассиметричное, симметричное, алгоритм, ключ, данные.

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

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

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

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

Существует два основных типа шифрования: симметричное и ассиметричное. Тип используемого шифрования зависит от того, кто и как будет получать доступ к данным.

Симметричное шифрование использует один ключ для шифрования и для дешифрования данных. Это самый простой и широко известный метод шифрования, но при этом менее безопасный. Чаще всего используется для шифрования данных, хранящихся в базе данных, поскольку они должны быть зашифрованы только до тех пор, пока к ним не потребуется доступ в будущем.

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

Наиболее используемые методы симметричного шифрования: Data Encryption Standard (DES), Advanced Encryption Standard (AES), Twofish, Blowfish, Rivest Cipher (RC4).

Наиболее используемые методы ассиметричного шифрования: Rivest-Shamir-Adleman (RSA), Elliptic Curve Digital Signature Algorithm (алгоритм цифровой подписи на эллиптических кривых).

Data Encryption Standard (DES) представляет собой алгоритм блочного шифрования, который берет обычный текст в блоках по 64 бита и преобразует их в зашифрованный текст с использованием 48-битных ключей. Алгоритм DES начинается с того, что 64-битный блок открытого текста передается функции начальной перестановки. Затем начальная перестановка создает две половины переставленного блока,

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

Advanced Encryption Standard (AES) — это симметричный блочный метод шифрования.

AES включает в себя три блочных шифра: AES-128 использует 128-битный ключ для шифрования и дешифрования блока сообщений, AES-192 использует 192-битный ключ для шифрования и дешифрования блока сообщений и AES-256, который использует 256-битный ключ для шифрования и дешифрования блока сообщений. Каждый шифр шифрует и дешифрует данные блоками по 128 бит, используя криптографические ключи на 128, 192 и 256 бит соответственно. Ключи любой длины могут использоваться для защиты конфиденциального и секретного уровней. Для совершенно секретной информации необходимы ключи длиной 192 или 256 бит.

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

Blowfish — еще один симметричный блочный метод шифрования. Алгоритм Blowfish использует 64-битный размер блока, а длина генерируемого ключа составляет от 32 до 448 бит. Алгоритм состоит из двух частей. Первая часть — расширение ключа, а вторая — шифрование, полученных данных. В начале первая часть алгоритма преобразует 448 бит ключа в подключи, в результате чего массив становится размером 4168 байт. Для шифрования данных алгоритм используется 16-раундовый шифр.

Twofish является преемником алгоритма шифрования Blowfish с размером блока 128 бит, длиной ключа до 256 бит и количеством раундов 16. Twofish использует предварительно вычисляемые S-блокои, зависящие от ключей. Одна половина n-битного ключа необходима для фактического ключа шифрования, а другая половина — для модификации алгоритма шифрования. Twofish также использует матрицу максимального расстояния.

Rivest Cipher (RC4) представляет собой потоковый шифр с переменным размером ключа, использующий 64-битные и 128-битные размеры. Шифр использует перестановку и два 8-битных индексных указателя для генерации ключевого потока. Сама перестановка выполняется с помощью алгоритма планирования ключей (KSA), а затем вводится в алгоритм псевдослучайной генерации (PRG), который генерирует битовый поток. Псевдослучайный поток, генерируемый RC4, такой же длины, как и поток открытого текста. Затем с помощью операции «Исключающее ИЛИ» (X-OR) поток и открытый текст генерируют зашифрованный текст. В отличие от потоковых шифров, блочные шифры разделяют открытый текст на разные блоки. Затем он прикрепляет к блокам открытый текст и выполняет шифрование блоков.

Rivest-Shamir-Adleman (RSA) основан на том факте, что большое целое число трудно разложить на множители. Открытый ключ состоит из двух чисел, одно из которых представляет собой произведение n двух больших простых чисел. А другое — число e, которое взаимно простое со значением функции Эйлера и при этом больше единицы. Для представления закрытого ключа вычисляется число d мультипликативно обратное к значению функции Эйлера. Пара n и e является открытым ключом, а пара d и n — закрытым.

Elliptic Curve Digital Signature Algorithm (алгоритм цифровой подписи на эллиптических кривых) — это криптографически безопасная схема цифровой подписи, основанная на математике циклических групп эллиптических кривых над конечными полями в классической форме Вейерштрасса. Алгоритм подписи/проверки ECDSA основан на умножении точек эллиптических кривых. Ключи ECDSA короче, чем в RSA для того же уровня безопасности. 256-битная подпись ECDSA имеет такой же уровень безопасности,

как и 3072-битная подпись RSA.

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

Список использованной литературы:

1. Разница между Шифрованием и Дешифрованием [Электронный ресурс]. - Режим доступа: https://raznisa.ru/raznica-mezhdu-shifrovaniem-i-deshifrovaniem/. — (дата обращения: 21.01.2023).

2. What Is Data Encryption: Types, Algorithms, Techniques and Methods [Электронный ресурс]. - Режим доступа: https://www.simplilearn.com/data-encryption-methods-article. — (дата обращения: 21.01.2023).

3. Encryption Consulting [Электронный ресурс]. - Режим доступа: https://www.encryptionconsulting.com/. — (дата обращения: 22.01.2023).

4. What is encryption? | Types of encryption [Электронный ресурс]. - Режим доступа: https://www.cloudflare.com/learning/ssl/what-is-encryption/. — (дата обращения: 22.01.2023).

5. What Is DES (Data Encryption Standard)? DES Algorithm and Operation [Электронный ресурс]. - Режим доступа: https://www.simplilearn.com/what-is-des-article. — (дата обращения: 22.01.2023).

© Галигузова Е.В., Илларионова Ю.В., 2023

УДК 004.65

Галигузова Е.В.

Бакалавр 3 курса РТУ МИРЭА г. Москва, Россия Илларионова Ю.Е.

Бакалавр 3 курса РТУ МИРЭА г. Москва, Россия

СРАВНЕНИЕ РЕЛЯЦИОННЫХ И НЕРЕЛЯЦИОННЫХ СУБД Аннотация

База данных — необходимый инструмент в деятельности любой организации. Для управления любой базой данных необходимо СУБД. В данной статье рассматриваются реляционные и нереляционные СУБД, их сфера применения и их тип хранимых данных.

Ключевые слова:

База данных, системы управления базой данных, SQL, NoSQL, ACID, CAP.

В любой организации возникает потребность в хранении данных. Данные можно хранить в таблицах или базах данных. База данных представляет собой систематизированный набор связанной информации, которая хранится таким образом, чтобы к ней можно было легко получить доступ, получить, управлять и обновлять ее. Данные можно организовать в таблицы, строки, столбцы и проиндексировать их, чтобы упростить поиск по базе данных. Для управления базой данных используются системы управления базами данных (СУБД).

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

i Надоели баннеры? Вы всегда можете отключить рекламу.