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

Преди да научите алгоритма на MD5 е много важно да разберете какво е криптография и как алгоритмът MD5 влезе в картината. Казано по-просто, криптографията е практика и изучаване на техники, които се използват за преобразуване на обикновен текст в неразбираем текст, който може да бъде разбран само от получателя. От съображения за сигурност е много важно да шифровате данните и да ги изпратите и съхранявате в определен формат, така че да не могат да бъдат изтекли и следователно злоупотребявани. MD5 е един от алгоритмите, който се използва за кодиране на данните. Има толкова много алгоритми, разработени за сигурно предаване и съхранение на данни, имащи своите плюсове и минуси. Тези алгоритми не само защитават данните от кражба, но също така осигуряват удостоверяване на потребителя.

Сега научаваме задълбочено за алгоритма на MD5, така че MD5 означава алгоритъм 5 за преобразуване на съобщения 5, който е една от широко използваните криптографски хеш функции, която приема входа с произволна дължина и произвежда изход от фиксирана 128-битова хеш стойност. Използва се в голямо разнообразие от приложения за сигурност. MD5 е усъвършенствана версия на MD4, която е разработена от професор Роналд Ривест от MIT. MD5 е разработен като силен криптографски алгоритъм, който се използва при автентифицирането на цифрови подписи (цифров код, приложен с електронен документ за проверка на неговото съдържание и полова идентичност).

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

MD5 алгоритъмът е разработен с основния мотив за сигурност, тъй като приема вход от всякакъв размер и произвежда изход, ако е 128-битова хеш стойност. За да се счита за криптографски сигурен MD5 трябва да отговаря на две изисквания:

  1. Невъзможно е да се генерират два входа, които не могат да генерират една и съща хеш функция.
  2. Невъзможно е да се генерира съобщение със същата хеш стойност.

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

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

Както всички знаем, че MD5 дава продукция от 128-битова хеш стойност. Това криптиране на въвеждане на всякакъв размер в хеш стойности преминава 5 стъпки и всяка стъпка има своя предварително зададена задача.

Стъпка 1: Прибавете подложки за подплънки

  • Padding означава добавяне на допълнителни битове към оригиналното съобщение. Така че в 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
Слово Б89AbCDEf
Word CFeDcБа98
Word 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
I (X, Y, Z)Y xor (X v not (Z))

Съдържанието на четири буфера се смесва с въвеждането с помощта на този спомагателен буфер и 16 кръга се извършват с помощта на 16 основни операции.

към крайния продукт

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

Пример:

Въвеждане: Това е статия за алгоритъма за криптография
Изход: e4d909c290dfb1ca068ffaddd22cbb0

Предимства и недостатъци на алгоритма на MD5:

  • Алгоритмите на MD5 са полезни, защото е по-лесно да се сравняват и съхраняват тези по-малки хешове, отколкото да се съхранява голям текст с променлива дължина. Алгоритъмът MD5 е широко използван алгоритъм за еднопосочни хешове, които се използват за проверка, без непременно даване на оригиналната стойност. Алгоритъмът D5 се използва от Unix системите за съхраняване на паролите на потребителя в 128-битов криптиран формат. MD5 алгоритмите се използват широко за проверка на целостта на файловете.
  • Освен това е много лесно да се генерира преобразуване на съобщения от оригиналното съобщение, като се използва този алгоритъм. Алгоритъмът MD5 може да извърши дайджест на съобщение на съобщение с произволен брой битове, не се ограничава до съобщение в кратни на 8, за разлика от MD5sum, който се ограничава до октети.
  • Но от много години 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. Криптография срещу шифроване