Статья опубликована в рамках: LXXXVIII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 09 апреля 2020 г.)
Наука: Математика
Скачать книгу(-и): Сборник статей конференции
СРАВНЕНИЕ АЛГОРИТМОВ ШИФРОВАНИЯ
Цель работы: рассмотреть основные алгоритмы шифрования и провести сравнительный анализ по выбранным критериям
Задачи:
- Рассмотреть основные алгоритмы шифрования
- Произвести выбор критериев сравнения алгоритмов
- Провести сравнительный анализ алгоритмов шифрования
- Сделать выводы
Раздел 1. Основные алгоритмы шифрования
Раздел 2. Симметричное шифрования
Раздел 3. Асимметричное шифрования
Раздел 4. Сравнение эффективности различных схем
Раздел 5. Выводы
Раздел 1. Основные алгоритмы шифрования
Шифрование - процесс кодирования(зашифровки) информации или пакета данных с целью предотвращения несанкционированного (запрещенного) доступа к информации или данным. В данный момент времени нам необходимо обеспечивать безопасность информации, которая хранится в нашем персональном компьютере или передается по средствам сети интернет. Существуют различные криптографические методы, которые используются в современных системах защиты информации. В целом, выбор криптографических методов зависит от требований приложения, таких как время ответа, пропускная способность, конфиденциальность и целостность. Однако, каждый из алгоритмов криптографической защиты имеет как слабые, так и сильные стороны. В данный момент времени существует две основные схемы шифрования данных:
- Методы, на основе алгоритмов симметричного шифрования
- Методы, на основе алгоритмов асимметричного шифрования
Раздел 2. Симметричное шифрование
Алгоритмы симметричного шифрования объясняются тем, что для расшифровки информации или данных используется ключ, который используется и для шифровки этой информации или данных. Принцип, на котором базируются все алгоритмы симметричного шифрования - имитация хаоса.
Типы симметричного шифрования.
Симметричное шифрование бывает двух типов:
- блочное
- потоковое.
В блочном шифровании информации исходные данные обрабатываются блоками определенной длины (обычно 64 или 128 бит). Блоки подвергаются шифрованию в несколько раз - циклов. Это делается для максимального устранения соответствия между блоками исходных и зашифрованных данных.
А при потоковом шифровании каждый бит исходной информации подвергается шифрованию. Для избежания соответствия между начальными и зашифрованными данными используется метод гаммирования — “наложение” последовательности случайных чисел на исходные данные.
Один из самых известных и востребованных алгоритмов симметричного шифрования - это алгоритм DES (Data Encryption Standard). Он был предложен корпорацией IBM (США) в 1977 году. В данный момент DES уже перестал быть актуальным, так как его криптостойкость ставится под сомнение ввиду нынешнего развития вычислительных мощностей компьютерной техники и иных средств работы с криптографическими алгоритмами.
В данный момент широкое использование получил так называемый алгоритм симметричного шифрования AES (Advanced Data Encryption), который был объявлен стандартом шифрования в 2002 году.
AES — это криптографический алгоритм, основанный на принципе блочного шифрования, где размер каждого блока - 128 бит, а ключи могут быть произвольной длины 128, 192 или 256 бит. В реализации алгоритма AES используются операции смешивания, сдвига, подстановки с помощью таблиц и разнообразные вычисления с применением математического аппарата.
Стоит сказать, что алгоритм поточного шифрования устраняет необходимость разбивать сообщение или пакет данных на целое число блоков достаточной длины, следовательно, он может работать в реальном времени. Таким образом, если необходимо передать поток символов, каждый символ можно шифровать и передавать сразу.
Раздел 3. Асимметричное шифрование
В процессе использования алгоритмов асимметричного шифрования необходимо наличие 2-ух типов паролей — публичный (открытый) и секретный (закрытый). Первый отсылается всем сторонам, в то время, как второй пароль хранится только на стороне сервера. Одним из первых, в конце 70-х годов ХХ века, был предложен алгоритм шифрования с открытым ключом RSA. Название состоит из первых букв фамилий его авторов: Р.Райвеста (R.Rivest), А.Шамира (A.Shamir) и Л.Адлемана (L.Adleman). Стоит сказать, что на данный момент алгоритм RSA является, наверное, самым популярным и широко применяемым в криптографических системах различного применения алгоритмом ассиметричного шифрования.
Алгоритм RSA является блочным алгоритмом шифрования, в котором зашифрованные и незашифрованные данные представляются в виде целочисленных элементов в промежутке [0; n-1] для некоторого числа n.
Отправитель зашифровывает свое сообщение с использованием публичного (открытого) ключа , а затем получатель этого сообщения может провести его расшифровку с помощью своего закрытого (секретного) ключа. Все операции в алгоритме RSA можно разделить на три основных этапа: генерация ключей, шифровка и расшифровка сообщения или пакета данных.
Раздел 4. Сравнение различных алгоритмов
Мы провели сравнение указанных выше алгоритмов шифрования.
В таблице 1 представлена память, используемая устройствами для всех криптографических методов, которые мы рассматривали. AES потребляет меньше памяти хранения, чем другие алгоритмы, в то время как RSA использует больше всего памяти.
Таблица 1.
Сравнение используемой памяти
Алгоритм |
Используемая память(кбайт) |
DES |
18,2 |
AES |
14,7 |
RSA |
31,5 |
Затем мы провели эксперимент по сравнению энтропии. С точки зрения криптографии, энтропия определяет количество символов, которые необходимо раскрыть, чтобы узнать содержание сообщения. Из таблицы мы можем видеть, что наибольшей энтропией обладает алгоритм AES, а наименьшей - DES.
Таблица 2.
Сравнение средней энтропии на 1 байт
Алгоритм |
Средняя энтропия на байт шифрования |
DES |
2.9477 |
AES |
3.84024 |
RSA |
3.0958 |
Сравним теперь алгоритмы по памяти, требуемой на оптимальное кодирование байта информации. В данном случае, наименьшее количество бит требует алгоритм DES, а наибольшее- AES.
Таблица 3.
Сравнение среднего количества битов для кодирования
Алгоритм |
Среднее кол-во битов, требуемых для оптимального кодирования |
DES |
27 |
AES |
256 |
RSA |
44 |
По времени шифрования и расшифровки быстрее всего работает алгоритм DES, а медленнее RSA.
Таблица 4.
Сравнение используемой памяти
Алгоритм |
Время шифрования файла размером 1мб |
Время расшифровки файла размером 1мб |
DES |
750мс |
600мс |
AES |
600мс |
550мс |
RSA |
1400мс |
800мс |
Раздел 5. Выводы
Стоит сказать, что любой из рассмотренных криптографических алгоритмов несет в себе определенные слабые и сильные стороны. По результатам сравнения эксперимента, алгоритм AES- лучший выбор в случае, когда нам необходимо минимальное время шифрования - расшифрования. Также, данный алгоритм использует в своей работе минимальный объем памяти для хранения. В случае когда основным требованием приложения необходимо реализовать максимальную пропускную способность сети, то DES является оптимальным вариантом. Таким образом, можно сделать вывод, что криптографический алгоритм необходимо выбирать в зависимости от целей и задач приложения. Асимметричное шифрование стоит использовать в системам, в которых значительным количествам пользователей может понадобиться как зашифровать, так и расшифровать сообщение или пакет используемых данных, особенно в случае, когда производительность не является приоритетом. Но когда нам нужны более скоростные алгоритмы с меньшей вычислительной мощностью, то приоритетнее будет пользоваться симметричными алгоритмами шифрования.
Список литературы:
- Бирюков, А. А. Информационная безопасность: защита и нападение.— М.: ДМК Пресс, 2013. — 474 c.
- Национальный Открытый Университете «ИНТУИТ». [Электронный ресурс]. Лекция 1 – Режим доступа: https://www.intuit.ru/studies/courses/1149/257/lecture/6555?page=5(дата обращения 30.03.2020)
- Национальный Открытый Университете «ИНТУИТ». [Электронный ресурс]. Лекция 12 – Режим доступа: https://www.intuit.ru/studies/courses/691/547/lecture/12391 (дата обращения 30.03.2020)
- Nazeh Abdul Wahid MD, Ali A, Esparham B, Marwan MD (2018) A Comparison of Cryptographic Algorithms: DES, 3DES, AES, RSA and Blowfish for Guessing Attacks Prevention.
Оставить комментарий