MD5 е 128-битен хаш алгоритам создаден од научникот Роналд Л. Ривест во раните 1990-ти. Кратенката MD5 е кратенка за Message Digest Version 5.
Шифрирањето MD5 се заснова на хаширање, што вклучува формирање на „отпечатоци од прсти“ или „суми“ со цел дополнително да се потврди нивната автентичност. Користејќи го овој метод, можете да го потврдите интегритетот на информациите, како и складирањето на хашовите на лозинките.
Историја на MD5
Историјата на Message Digest Algorithm (MD5) започнува во 1991 година, кога професорот на MIT Ronald L. Rivest извести за создавање на нов алгоритам кој го замени застарениот MD4. Што се однесува до MD4, во него навистина беа пронајдени голем број недостатоци, како што подоцна напиша германскиот криптолог Ханс Добертин.
Ривест го опиша новиот алгоритам MD5 во RFC 1321.
Работата на алгоритмот ја продолжија истражувачите Берт ден Бур и Антон Боселарс, кои во 1993 година ја докажаа можноста за псевдосудири во MD5, кога различни вектори за иницијализација може да се совпаднат со исти дигести на пораки.
Понатаму, во 1996 година Ханс Добертин тврдеше дека нашол судир во МД5. Во тоа време, станаа познати повеќе преферирани алгоритми за хеширање, како што се функциите за криптографски хеширање RIPEMD-160 - развиени од Ханс Добертин, Антон Боселарс и Барт Пренел, Whirlpool - развиен од Винсент Рејмен и Пауло Барето и алгоритам за криптографско хеширање SHA-1.
Поради релативно малата големина на хашот (128 бита) во MD5, се зборуваше за можноста за роденденски напади. Проектот MD5CRK, лансиран од Жан-Лук Кук во 2004 година, имаше за цел да ја проучува ранливоста на алгоритмот користејќи роденденски напади. Но, по пет месеци, на 17 август 2004 година, проектот беше скратен поради откривањето на ранливост во алгоритмот од страна на група кинески криптографи предводени од Лаи Ксуеџија.
Во март 2005 година, математичарите и криптографите Бене де Вегер, Арјен Ленстра и Ванг Ксијаојун создадоа два документи X.509 со ист хаш и различни јавни клучеви.
Една година подоцна, во март 2006 година, беше објавен алгоритам од чешкиот криптограф Властимил Клима, кој ви овозможува да ги одредите судирите на едноставен компјутер за само една минута. Овој алгоритам стана познат како метод на „тунелирање“.
Како резултат на анализата на резултатите од работата, во 2008 година, поделбата на Националната управа за сајбер безбедност на Министерството за домашна безбедност на САД (US-CERT) препорача на сите кои беа вклучени во развојот на софтвер, веб-локации, како и мрежни корисници, престанете да го користите алгоритмот MD5, без оглед на целта на неговата примена. Причината за таквата препорака беше несигурноста што ја покажа во процесот на нејзино проучување.
Во декември 2010 година, кинеските криптолози Тао Кси и Фенг Денгуо открија судир на пораки од 512 бита (еден блок). Претходно, судири беа пронајдени само во пораки со должина од два блока или повеќе. Подоцна, Марк Стивенс постигна слични резултати со објавување блокови со ист хаш MD5. Тој, исто така, разви алгоритам за добивање судири од овој тип.
Конечниот документ што стави крај на историјата на развојот на алгоритмот MD5 беше барање за коментари - RFC 6151 (RFC е официјален документ развиен од Советот за Интернет инженерство (IETF), кој ги опишува спецификациите за одредена технологија), која всушност го препозна MD5 како небезбеден алгоритам за хеширање. Документот препорачува негово напуштање, избирајќи го семејството на криптографски алгоритми SHA-2 како алтернатива.
Разговараниот алгоритам MD5 се смета за еден од првите алгоритамски стандарди што се користат за проверка на интегритетот на датотеките и складирање лозинки во бази на податоци за веб-апликации.
Но, всушност, релативно едноставната функционалност, кратката излезна должина и едноставноста на извршените операции, како предности на алгоритмот, ги одредуваат и неговите недостатоци - MD5 се однесува на алгоритми кои се склони кон хакирање и имаат низок степен на заштита од роденденски напади.