# Čo je kryptografické hašovanie?

> Kryptografické hašovanie (cryptographic hashing) je jednosmerná funkcia, ktorá mapuje arbitrárny vstup na digest fixnej dĺžky, navrhnutá tak, aby vstup nemohol byť prakticky obnovený z digestu a dva odlišné vstupy nemohli prakticky produkovať rovnaký digest.

- Kanonická URL: https://yellowcube.eu/sk/glossary/cryptographic-hashing/
- Vydavateľ: Yellow Cube
- Jazyk: sk
- Kontakt: hello@yellowcube.eu

## Obsah

Tri esenciálne vlastnosti sú odolnosť voči preimage (digest neodhaľuje nič o svojom vstupe), odolnosť voči druhému preimage (pre daný vstup nemôže byť nájdený iný vstup s rovnakým digestom) a odolnosť voči kolízii (dva vstupy s rovnakým digestom nemôžu byť nájdené vôbec). Algoritmy ako MD5 a SHA-1 zlyhali v týchto vlastnostiach a nesmú byť použité tam, kde znamenajú.

Hašovanie sa objavuje všade v bezpečnosti: kontroly integrity a dôkazy manipulácie, digitálne podpisy podpisujúce digesty namiesto celých správ, adresovanie obsahu a — so zámernou extra prácou — ukladanie hesiel. Heslá potrebujú solené, výpočtovo drahé funkcie ako dedikované algoritmy hašovania hesiel; rýchly všeobecný hash je nesprávny nástroj pre túto konkrétnu úlohu.

### Kľúčové body

- **Použitie integrity:** Zodpovedajúci digest potvrdzuje, že obsah sa nezmenil od výpočtu digestu — za predpokladu, že digest bol získaný cez dôveryhodný kanál.
- **Ukladanie hesiel:** Ukladať solené, pomalé hash digesty namiesto rýchlych hashov; soľ poráža predpočítané vyhľadávania a náklad spomaľuje hrubé uhádanie vo veľkom.
- **Výber algoritmu:** Použiť aktuálne schválené rodiny (SHA-2, SHA-3) a zaobchádzať s MD5 a SHA-1 ako s rozbitými pre bezpečnostné účely — zostávajú prijateľné len pre ne-adverziálne checksumy.
- **Dôležité obmedzenie:** Hash dokazuje len, že dva vstupy zodpovedali pod jednou funkciou v jednom čase. Neposkytuje dôvernosť — digest uhádateľného vstupu je triviálne obnovený skúšaním kandidátov — a hash počítaný cez nedôveryhodný kanál môže byť vymenený spolu s obsahom, za ktorý ručí.

### Súvisiace pojmy

[Kryptografia](<https://yellowcube.eu/sk/glossary/cryptography/>) · [Digitálny podpis](<https://yellowcube.eu/sk/glossary/digital-signature/>) · [Autentifikačný kód správy (message authentication code, MAC)](<https://yellowcube.eu/sk/glossary/message-authentication-code/>) · [Prihlasovacie údaje](<https://yellowcube.eu/sk/glossary/login-credentials/>) · [Integrita údajov](<https://yellowcube.eu/sk/glossary/data-integrity/>)

### Zdroje

[NIST FIPS 180-4: Secure Hash Standard](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf) · [NIST glossary: Hash Function](https://csrc.nist.gov/glossary/term/hash_function) · [OWASP, Password Storage Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html)

## Uvedenie zdroja a rozsah

Táto verzia Markdown sa generuje z rovnakých schválených záznamov ako kanonická stránka HTML. Pri citovaní použite kanonickú URL.

