**Kryptografická hašovacia funkcia** je hašovacia funkcia používaná v kryptografii. Kritéria kladené na jej bezpečnosť ju robia vhodnou na použitie v rozličných aplikáciách informačnej bezpečnosti, akými sú napr. autentifikácia či integrita správ.

Dve v súčasnosti najpoužívanejšie kryptografické hašovacie funkcie sú MD5 (Message-digest 5) a SHA1 (Secure hash algorithm 1). V roku 2005 boli nájdené v oboch bezpečnostné nedostatky. V súčasnosti sa odporúča použivať SHA2, napriklad SHA256 .

Vlastnosti
----------

Okrem vlastností hašovacej funkcie musí kryptografická hašovacia navyše spĺňať:

* *Jednocestnosť* – funkcia musí byť jednocestná, t. j. inverznú funkciu ťažko nájsť. Teda iba znalosť výstupu nijak nevedie k znalosti vstupného textu. Pre dané {\displaystyle x} ľahko spočítať {\displaystyle H(x)}, pre dané {\displaystyle H(y)} ťažko spočítať {\displaystyle 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é {\displaystyle x1}, {\displaystyle x2}, aby platilo {\displaystyle 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é {\displaystyle x1} nájsť také {\displaystyle x2}, {\displaystyle x1} ≠ {\displaystyle x2}, aby platilo {\displaystyle H(x1)=H(x2)}.

Implementácie
-------------

### Kryptografické hašovacie funkcie

* Message-Digest algorithm (MD)
* Secure Hash Algorithm (SHA)
* RACE Integrity Primitives Evaluation Message Digest (RIPEMD)
* Whirlpool
* HAVAL
* PANAMA
* Tiger

### Kľúčované hašovacie funkcie

Použitie hašovacej funkcie s tajným symetrickým kľúčom, napríklad HMAC.

Príklady
--------

Príklady výstupov (hašov) niektorých kryptografických hašovacích funkcií z krátkeho textového reťazca (na porovnanie s kontrolným súčtom CRC32). Malá zmena vstupu spôsobuje lavínovité zmeny vo výstupe:

```
vstup:     Vyhlasujem, že ti dlhujem 100
výstup: 
 MD5       fbe8e3408311811c0d182d0193a03a62
 SHA-1     68741d0244e8ce0989af154977ce037c7c75a32e
 SHA-256   da3292bf01f1a5a37ffd1c8650430c3a65766205bad2faac1e1a7ab1d23ccc88
 RIPEMD160 01b5e2da3697a5759d7848e697b1415aeb6e082d
 CRC32     46b88aaa
```

```
vstup:     Vyhlasujem, že ti dlhujem 900
výstup: 
 MD5       42e4bf834247c94795911ef86b8817e3
 SHA-1     6f6baee4bf87762435f0e245a94c478cbf3d97df
 SHA-256   bfbcd7dbd3ff2b8f6b59142ad352136d70e53ec13c1b263dae685ca3fb46ded5
 RIPEMD160 41392a069ce0a3b58062bbf66f9f528502d3c046
 CRC32     48abdb12
```

Kontrola zdravotného stavu
--------------------------

Schéma (alebo protokol či funkcia) dôkazu služby je ekonomické opatrenie na zabránenie útokom na odmietnutie služby a inému zneužívaniu služieb, ako je napríklad spam v sieti, ktoré si vyžaduje určitú prácu od osoby požadujúcej službu, čo zvyčajne znamená čas spracovania na počítači. Kľúčovou vlastnosťou týchto systémov je ich asymetria: práca musí byť mierne náročná (ale vykonateľná) pre stranu, ktorá podáva žiadosť, ale ľahko overiteľná pre poskytovateľa služby.Ide o populárny systém používaný pri ťažbe bitcoinov a hash cache, používa čiastočné inverzie hash na preukázanie vykonanej práce, na odomknutie odmien za ťažbu bitcoinov a na znak dobrej vôle na odoslanie e-mailu do hash cache. Odosielateľ musí nájsť správu, ktorej hodnota hash začína niekoľkými nulovými bitmi. Priemerná práca, ktorú musí odosielateľ vykonať na nájdenie platnej správy, závisí exponenciálne od počtu potrebných nulových bitov v hashovacej hodnote, zatiaľ čo príjemca môže overiť platnosť správy vykonaním jedinej hashovacej funkcie.

Pozri aj
--------

* Kolízie hašovacích funkcií

Referencie
----------

1. ↑  SHA1 Deprecation: What You Need to Know
2. ↑  Hašovacie funkcie a overenie integrity z referenčnej Handbook of Applied Cryptography
3. ↑   Proof Of Work Explained. *www.publish0x.com*. Dostupné online [cit. 2023-09-27].
4. ↑   Commonly Used Blockchain Terms And Their Definitions. *rihusoft.com*. Dostupné online [cit. 2023-09-27].
5. ↑   Alternatives to Proof of Work. *cryptomorrow.com*. Dostupné online [cit. 2023-09-27].
6. ↑   Proof-of-Work Consensus Algorithm in Crypto and Blockchain, Explained. *changelly.com*. Dostupné online [cit. 2023-09-27].
7. ↑   Which of the following defeats the purpose of securing the correct in text. *vdanang.com*. Dostupné online [cit. 2023-09-27]. Archivované 2023-09-27 z originálu.
8. ↑   Bitcoin: A Peer-to-Peer Electronic Cash System. *fermatslibrary.com*. Dostupné online [cit. 2023-09-27].