MD5 хаш генератор

Додај на веб-страница Метаинформации

Други алатки

MD5 хаш

MD5 хаш

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 се однесува на алгоритми кои се склони кон хакирање и имаат низок степен на заштита од роденденски напади.

Што е MD5?

Што е MD5?

Алгоритмот за хеширање MD5 може да се користи во различни области поврзани со создавање електронски дигитални потписи, безбедни лозинки, криптографски онлајн клучеви. Овозможува проверка на интегритетот на информациите на компјутер.

Првично, MD5 се сметаше за релативно силен алгоритам за шифрирање, но поради недостатоците идентификувани во текот на студијата, во моментов се препорачува да се замени со друг, посигурен алгоритам за хаширање.

Примери за употреба

Главната предност на алгоритмот MD5 е неговиот широк опсег на примена.

Алгоритмот ви овозможува да ги проверите преземените информации за автентичност и интегритет

На пример, заедно со пакетите за инсталирање софтвер, постои и контролна сума за проверка.

Се практикува и користење на алгоритмот MD5 за хаширање лозинки

На пример, оперативниот систем Unix активно го користи овој алгоритам како алатка за хаширање. Треба да се забележи дека во некои системи на Linux, методот MD5 исто така активно се користи за складирање на лозинки.

Следниве начини на складирање лозинки се познати:

  • Стандардно складирање без хаширање. Недостаток на овој метод е високиот ризик од истекување на информации кога базата на податоци е хакирана.
  • Се чуваат само хашови на лозинки. Таквите податоци лесно се наоѓаат со користење на табели за хаш што се однапред подготвени. За пополнување на такви табели, се користат вообичаени лозинки со мала сложеност.
  • Додавање неколку знаци на лозинките наречени „сол“. После тоа, резултатот се хашира. Лозинката добиена како резултат на такви дејства мора да се чува во јасен текст. Кога барате лозинки создадени на овој начин, табелите нема да помогнат.

Алгоритмот за хаширање MD5 може да се користи за потврдување датотеки преземени од веб

Ова станува возможно кога користите специјализирани алатки кои можат да ги променат својствата на датотеката и да овозможат употреба на алгоритми за шифрирање на хаш.

MD5 се користи при креирање веб-апликации

Во процесот на развивање и конфигурирање на системи за автентикација, скрипти или панели, можете да генерирате хаш-кодови за поединечни линии.

Сигурност на алгоритмот MD5

Технологијата за хеширање позната како алгоритам MD5 долго време се сметаше за прилично сигурна. Во исто време, никој не зборуваше за неговата идеалност. Немаше гаранции дека алгоритмот ќе биде неранлив и ќе обезбеди стопроцентна неповредливост на информациите.

Како резултат на работата на голем број научници, беа идентификувани одредени недостатоци на оваа технологија. Главната е ранливост поради откривање судир при шифрирање.

Колизија е веројатноста да се постигне ист излезен резултат кога се внесуваат различни влезни податоци. Колку е поголема оваа веројатност, толку е помало нивото на заштита на користениот алгоритам.

Истражувачите спроведоа криптоанализа и идентификуваа неколку начини за пробивање хаш MD5:

  • Нападот со брутална сила може да се смета за универзален метод на хакирање. Но, тоа има и свој недостаток - методот е многу долг. За да се спротивстави, се користи техниката на зголемување на бројот на клучеви. Овој метод често се користи за да се процени нивото на јачина и јачина на шифрирањето на лозинката.
  • RainbowCrack е специјална програма која ви овозможува да креирате хаш-база, врз основа на која се врши речиси моментално пробивање на буквите и бројките со лозинка.
  • За да изберете лозинки со помош на речник, се користат бази на податоци за речник и готови програми.
  • Кога го користат методот за откривање судир, тие земаат слични функционални вредности за различни пораки кои имаат ист почеток. Овој метод активно се користел на крајот на 20 век.

Формулата за добивање идентичен хаш-код е: MD5(4L1) = MD5(4L2).

Во 2004 година, кинеските научници открија ранливост во системот што овозможи да се открие судир за краток временски период.

Во 2006 година беше пронајден метод кој ви овозможува да откриете штетни датотеки на обичен компјутер користејќи ги таканаречените „тунели“.

И покрај одредени проблеми поврзани главно со ранливоста MD5, овој алгоритам сè уште е баран поради неговата активна употреба во независен развој на веб-апликации, како и во други неопходни случаи.