ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Hašovacia funkcia - Wikipédia

Hašovacia funkcia

Z Wikipédie


Hašovacia funkcia je funkcia, predpis pre transformáciu ľubovoľného vstupu na fixne dlhý výstup, akúsi jeho "jedinečnú" skratku. Pre rovnaký vstup zakaždým rovnakú. Vstupom je ľubovoľný konečný tok dát. Výstup má fixnú dĺžku. Tento reťazec sa označuje ako haš, charakteristika, odtlačok. Jeho dĺžka závisí od použitej hašovacej funkcie.

Toto zobrazenie väčšej množiny vstupov x, do menšej množiny výsupov H(x) nie je prosté. Preto existujú dva rôzne vstupy, ktoré dávajú rovnaký výstup. Hovorí sa o kolízii.

Obsah

[upraviť] Vlastnosti

  • Jednocestnosť - funkcia musí byť jednocestná, tj. inverznú funkciu ťažko nájsť. Teda iba znalosť výstupu nijak nevedie k znalosti vstupného textu. Pre dané x ľahko spočítať H(x), pre dané H(y) ťažko spočítať y.
  • Silná bezkolíznosť - ak nie je možné v rozumnom čase nájsť akýkoľvek pár vstupov tak, aby nastala kolízia. Nájsť ľubovoľné x1, x2, aby platilo H(x1) = H(x2).
  • Slabá bezkolíznosť - ak nie je možné v rozumnom čase k danému vstupu nájsť vstup iný tak, aby nastala kolízia. Pre dané x1 nájsť také x2, x1x2, aby platilo H(x1) = H(x2).
  • Lavínovitosť - vytvorený hash musí natoľko závisieť na každom bite vstupu, že aj jeho malá zmena rapídne ovplyvní výstup.
  • Rozloženie výstupov - funkcia distribuuje výstupy rovnomerne v celom obore hodnôt, teda produkuje málo kolízii.

[upraviť] Implementácie

Medzi najrozšírenejšie skupiny hašovacích funkcií patria:

vstup:     Prehlasujem, že ti dlžím 100
výstup: 
 MD5       fbe8e3408311811c0d182d0193a03a62
 SHA-1     68741d0244e8ce0989af154977ce037c7c75a32e
 SHA-256   da3292bf01f1a5a37ffd1c8650430c3a65766205bad2faac1e1a7ab1d23ccc88
 RIPEMD160 01b5e2da3697a5759d7848e697b1415aeb6e082d

Ďalšími implementáciami hašovacích funkcií sú napr.: Whirlpool, HAVAL, PANAMA, Tiger.

[upraviť] Použitie

Bezpečnosť hašovacích funkcií je pri správnom algoritme závislá na dĺžke výstupného reťazca. Od neho sa odvádza doba nutná na tzv. útok hrubou silou, skúšanie všetkých kombinácii. Správny algoritmus je založený na nejakom v súčasnosti ťažkom matematickom probléme (faktorizácia, diskrétne logaritmy).

Implementácie MDx sa už nepovažujú za bezpečné, kvôli možnosti nájsť kolízie v rádoch minút z dôvodu chyby v algoritme. Po nájdení slabých kolízii aj v skupine SHA sa doporučuje používať minimálne SHA-256, teda funkciu s dlhším výstupným reťazcom.

Hašovacie funkcie majú v informatike rozmanité použitie, od indexovania a vyhľadávania (vtedy hovoríme o transformácii kľúča) cez rýchle porovnávanie súborov až po zaistenie dátovej integrity a autentifikácie napr. pomocou elektronického podpisu.

[upraviť] Externé odkazy

  • HashCalc - freeware nástroj na výpočet viacerých hašovacích funkcií
  • Crypto-world - detailný článok o rôznych hašovacích funkciách


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -