Вступ до алгоритму MD5

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

Зараз глибоко вивчаємо алгоритм MD5, тож MD5 розшифровує алгоритм 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
Слово В89АбCdЄф
Слово СFeDcБа98
Слово D76543210

Крок 4: Обробка повідомлення в 16-словному блоці

MD5 використовує допоміжні функції, які приймають вхід як три 32-бітне число і виробляють 32-бітний вихід. Ці функції використовують логічні оператори, такі як АБО, 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
I (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, на відміну від MD5sum, який обмежується октетами.
  • Але з багатьох років MD5 схильний до хеш-зіткнення слабкості, тобто можна створити одну і ту ж хеш-функцію для двох різних входів. MD5 не забезпечує захисту від цих атак зіткнення. Замість MD5, SHA (алгоритм захищеного хешу, який виробляє 160-бітове дайджест повідомлень і розроблений NSA як частина алгоритму цифрового підпису) тепер у криптографічному полі прийнятний для генерації хеш-функції, оскільки створити SHA непросто -Я зіткнувся і досі жодного зіткнення ще не було.
  • Більше того, алгоритм MD5 досить повільний, ніж оптимізований алгоритм SHA. SHA набагато безпечніший, ніж алгоритм MD5, і більше того, він може бути реалізований в існуючій технології з перевищенням швидкості, на відміну від MD5. На сьогоднішній день на ринку з’являються нові алгоритми хешування, маючи на увазі більш високу безпеку даних, таких як SHA256 (яка генерує 256-бітовий підпис тексту).

Висновок

Сьогодні, зберігаючи всі дані в хмарі та Інтернеті, дуже важливо зберегти безпеку цих даних вкрай пріоритетно. Для шифрування приватних даних слід прийняти найбільш безпечний алгоритм. Останні дослідження показують, що алгоритму SHA слід надати першорядне значення порівняно з MD5, оскільки MD5 вразливіший до атак зіткнення. Хоча дослідники пропонують нові алгоритми, які є безпечними та найменш уразливими для атак, таких як SHA256.

Рекомендовані статті

Це було керівництвом до алгоритму MD5. Тут ми обговорили вступ, використання, працюючі, переваги та недоліки алгоритму MD5. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

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