Введение в алгоритм MD5

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

Теперь углубленно изучая Алгоритм MD5, MD5 обозначает алгоритм Message Digest 5, который является одной из широко используемых криптографических хеш-функций, которая принимает ввод произвольной длины и выдает фиксированное 128-битное хеш-значение. Он используется в самых разных приложениях безопасности. MD5 - это усовершенствованная версия MD4, разработанная профессором Рональдом Ривестом из MIT. MD5 был разработан как надежный криптографический алгоритм для аутентификации цифровых подписей (цифровой код, который прилагается к электронному документу для проверки его содержания и гендерной идентичности).

Использование алгоритма MD5

Алгоритм MD5 был разработан с основным мотивом безопасности, так как он принимает входные данные любого размера и выдает выходные данные, если 128-битное хеш-значение. Чтобы считаться криптографически безопасным, MD5 должен отвечать двум требованиям:

  1. Невозможно сгенерировать два входа, которые не могут создавать одну и ту же хеш-функцию.
  2. Невозможно сгенерировать сообщение с таким же хеш-значением.

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

Как работает алгоритм MD5?

Как все мы знаем, MD5 выводит 128-битное хеш-значение. Это шифрование ввода любого размера в хеш-значения проходит 5 шагов, и каждый шаг имеет свою предопределенную задачу.

Шаг 1: Добавить биты заполнения

  • Заполнение означает добавление дополнительных битов к исходному сообщению. Таким образом, в MD5 исходное сообщение дополняется так, что его длина в битах совпадает с 448 по модулю 512. Заполнение выполняется так, что общее количество битов на 64 меньше, кратное длине 512 бит.
  • Заполнение выполняется, даже если длина исходного сообщения уже соответствует 448 по модулю 512. В битах заполнения единственный первый бит равен 1, а остальные биты равны 0.

Шаг 2: Добавить длину

После заполнения в конце вставляются 64 бита, которые используются для записи длины исходного ввода. По модулю 2 64. На этом этапе результирующее сообщение имеет длину, кратную 512 битам.

Шаг 3: Инициализация буфера MD

Буфер из четырех слов (A, B, C, D) используется для вычисления значений для дайджеста сообщения. Здесь A, B, C, D являются 32-битными регистрами и инициализируются следующим образом

Слово А01234567
Слово Б89AbКомпакт дискEf
Слово СFeОкруг КолумбияBa98
Слово D76543210

Шаг 4: Обработка сообщения в блоке из 16 слов

MD5 использует вспомогательные функции, которые принимают вход как три 32-битных числа и выдают 32-битный выход. Эти функции используют логические операторы, такие как OR, XOR, NOR.

F (X, Y, Z)XY v нет (X) Z
G (X, Y, Z)XZ v Y нет (Z)
H (X, Y, Z)X XOR Y XOR Z
Я (X, Y, Z)Y xor (X v не (Z))

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

Выход-

В конце концов, обходы выполнили буфер A, B, C, D содержит вывод MD5, начиная с младшего бита A и заканчивая старшим битом D.

Пример:

Вход: это статья об алгоритме криптографии
Вывод: e4d909c290dfb1ca068ffaddd22cbb0

Преимущества и недостатки алгоритма MD5:

  • Алгоритмы MD5 полезны, потому что легче сравнивать и хранить эти меньшие хеши, чем хранить большой текст переменной длины. Алгоритм MD5 является широко используемым алгоритмом для односторонних хэшей, которые используются для проверки без обязательного указания исходного значения. Алгоритм MD5 используется системами Unix для хранения паролей пользователя в 128-битном зашифрованном формате. Алгоритмы MD5 широко используются для проверки целостности файлов.
  • Кроме того, с помощью этого алгоритма очень просто сгенерировать дайджест сообщения исходного сообщения. Алгоритм MD5 может выполнять дайджест сообщения с любым количеством битов, он не ограничивается сообщением, кратным 8, в отличие от суммы MD5, которая ограничено октетами.
  • Но в течение многих лет MD5 был склонен к слабости коллизий хешей, то есть можно создать одну и ту же хеш-функцию для двух разных входов. MD5 не обеспечивает безопасности при этих атаках столкновений. Вместо MD5 в криптографическом поле для генерации хеш-функции теперь приемлем SHA (Secure Hash Algorithm, который создает 160-битный дайджест сообщений и разработанный NSA, чтобы быть частью алгоритма цифровой подписи), так как SHA не так просто создать. -Я столкновение и до сих пор не было произведено никакого столкновения.
  • Более того, алгоритм MD5 довольно медленный, чем оптимизированный алгоритм SHA. SHA намного безопаснее, чем алгоритм MD5, и, кроме того, он может быть реализован в существующей технологии с превышением скорости, в отличие от MD5. В настоящее время на рынке появляются новые алгоритмы хеширования с учетом более высокой безопасности таких данных, как SHA256 (который генерирует 256-битную подпись текста).

Вывод

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

Рекомендуемые статьи

Это было руководство к алгоритму MD5. Здесь мы обсудили введение, использование, работу, преимущества и недостатки алгоритма MD5. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Алгоритм шифрования
  2. Что такое дешифрование?
  3. Что такое криптография?
  4. Криптография против шифрования