Въведение в алгоритма на MD5
Преди да научите алгоритма на MD5 е много важно да разберете какво е криптография и как алгоритмът MD5 влезе в картината. Казано по-просто, криптографията е практика и изучаване на техники, които се използват за преобразуване на обикновен текст в неразбираем текст, който може да бъде разбран само от получателя. От съображения за сигурност е много важно да шифровате данните и да ги изпратите и съхранявате в определен формат, така че да не могат да бъдат изтекли и следователно злоупотребявани. MD5 е един от алгоритмите, който се използва за кодиране на данните. Има толкова много алгоритми, разработени за сигурно предаване и съхранение на данни, имащи своите плюсове и минуси. Тези алгоритми не само защитават данните от кражба, но също така осигуряват удостоверяване на потребителя.
Сега научаваме задълбочено за алгоритма на MD5, така че MD5 означава алгоритъм 5 за преобразуване на съобщения 5, който е една от широко използваните криптографски хеш функции, която приема входа с произволна дължина и произвежда изход от фиксирана 128-битова хеш стойност. Използва се в голямо разнообразие от приложения за сигурност. MD5 е усъвършенствана версия на MD4, която е разработена от професор Роналд Ривест от MIT. MD5 е разработен като силен криптографски алгоритъм, който се използва при автентифицирането на цифрови подписи (цифров код, приложен с електронен документ за проверка на неговото съдържание и полова идентичност).
Използване на алгоритъм на MD5
MD5 алгоритъмът е разработен с основния мотив за сигурност, тъй като приема вход от всякакъв размер и произвежда изход, ако е 128-битова хеш стойност. За да се счита за криптографски сигурен MD5 трябва да отговаря на две изисквания:
- Невъзможно е да се генерират два входа, които не могат да генерират една и съща хеш функция.
- Невъзможно е да се генерира съобщение със същата хеш стойност.
Първоначално 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-битови регистри и се инициализират по следния начин
Дума А | 01 | 23 | 45 | 67 |
Слово Б | 89 | Ab | CD | Ef |
Word C | Fe | Dc | Ба | 98 |
Word D | 76 | 54 | 32 | 10 |
Стъпка 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. Можете да разгледате и другите ни предложени статии, за да научите повече -
- Алгоритъм за криптиране
- Какво е дешифриране?
- Какво е криптография?
- Криптография срещу шифроване