# Čo je SHA-256 v skutočnosti

> Cuadernos Lacre · Koncept · 19. mája 2026
> https://solo2.net/sk/sesity/articulos/co-je-to-vlastne-sha-256.html

Matematický odtlačok, ktorý sa zmestí do šesťdesiatich štyroch znakov a úplne sa zmení, ak sa v pôvodnom texte posunie čo i len jedna čiarka. Prečo to nazývame digitálna vosková pečať.

---

## Jednoduchá myšlienka za technickým názvom

Predstavte si, že existuje stroj s jediným otvorom a jedinou obrazovkou. Cez otvor vložíte text: slovo, vetu, celý román. Na obrazovke sa o chvíľu neskôr objaví sekvencia presne šesťdesiatich štyroch znakov. Túto sekvenciu odborný čitateľ nazýva *hash* alebo *kryptografický odtlačok*; pre bežného čitateľa ju nateraz môžeme nazvať matematickým odtlačkom textu, rovnako ako je odtlačok prsta odtlačkom človeka.

Ak vložíte rovnaký text dvakrát, stroj ukáže obakrát rovnaký odtlačok. Ak vložíte mierne odlišný text — posunutá jedna čiarka, veľké písmeno zmenené na malé — stroj ukáže úplne iný odtlačok ako ten prvý. Nie podobný: iný. Tieto dve vlastnosti spoločne — determinizmus a citlivosť — sú tá jednoduchá myšlienka. Všetko ostatné na SHA-256 je mechanizmus, vďaka ktorému dobre fungujú.

Hneď na začiatku treba povedať, čo stroj nerobí. Nešifruje text. Neskrýva ho. Neukladá ho. Stroj sa pozrie na text, vypočíta odtlačok a text zabudne. Odtlačok neumožňuje rekonštruovať text, ktorý ho vytvoril; umožňuje iba to, že ak máme kandidátsky text, môžeme overiť, či sa zhoduje s originálom. Preto hovoríme, že ide o odtlačok *jedným smerom*: tam to ide, späť nie.

## Hash nie je to isté ako šifrovanie

Toto nedorozumenie je časté a treba ho objasniť: šifrovanie a hashovanie sú odlišné operácie. Šifrovanie spočíva v transformácii textu tak, aby ho do pôvodnej podoby mohol vrátiť iba držiteľ kľúča. Hashovanie spočíva vo vytvorení odtlačku textu, z ktorého už pôvodný text nemožno nikdy získať, a to ani s kľúčom, ani bez neho. Prvé je zámerne reverzibilné; druhé zámerne ireverzibilné.

Praktický dôsledok je dôležitý. Keď aplikácia povie „vaše heslo uchovávame zašifrované“, existuje niekto, kto má kľúč na jeho dešifrovanie — v každom prípade je to samotná aplikácia. Keď aplikácia povie „vaše heslo uchovávame zahashované“, samotná aplikácia nemôže prečítať pôvodné heslo, ani keby chcela; môže len skontrolovať, či to, ktoré napíšete, znova vytvorí rovnaký odtlačok. Druhý model, ak je urobený správne, je na ukladanie hesiel oveľa vhodnejší ako prvý. Neskôr uvidíme, prečo „urobený správne“ vyžaduje niečo viac ako len samotný SHA-256.

## Štyri vlastnosti, vďaka ktorým je kryptografický hash užitočný

Hashovacia funkcia, ktorá si zaslúži prívlastok *kryptografická*, spĺňa štyri vlastnosti:

1. Determinizmus. Rovnaký vstup vždy vytvorí rovnaký odtlačok.
2. Lavínový efekt. Malá zmena na vstupe vytvorí úplne iný odtlačok bez akejkoľvek viditeľnej podobnosti s predchádzajúcim.
3. Odolnosť voči inverzii. Majúc odtlačok, nie je výpočtovo možné nájsť text, ktorý ho vytvoril.
4. Odolnosť voči kolíziám. Nie je výpočtovo možné nájsť dva rôzne texty, ktoré vytvoria rovnaký odtlačok.

„Nie je výpočtovo možné“ neznamená „je to matematicky nemožné“. Znamená to, že náklady v podobe času, energie a peňazí na dosiahnutie tohto cieľa prevyšujú rádovo súčet celej rozumne dostupnej výpočtovej kapacity. V prípade SHA-256 sa táto hranica meria v tisíckach miliárd rokov aj pri tých najoptimistickejších prístupoch so špecializovaným hardvérom. Čo je pre praktické účely čitateľa to isté ako „nedá sa to“.

## Konkrétne SHA-256

Názov hovorí za všetko. SHA je skratka pre *Secure Hash Algorithm*: bezpečný hashovací algoritmus. Číslo 256 označuje veľkosť odtlačku v bitoch: dvestopäťdesiatšesť bitov, teda tridsaťdva bajtov, ktoré pri zobrazení v hexadecimálnej sústave predstavujú tých šesťdesiatštyri znakov, ktoré čitateľ už pozná. Štandard zverejnil americký inštitút NIST, orgán, ktorý tieto typy funkcií štandardizuje, v roku 2001 ako súčasť rodiny SHA-2; súčasná verzia štandardu FIPS 180-4 je z roku 2015.

Rozmery si zaslúžia chvíľu pozornosti. Dvestopäťdesiatšesť bitov umožňuje dva na dvestopäťdesiatšiestu rôznych hodnôt: číslo so sedemdesiatimi ôsmimi desatinnými miestami, čo je o niekoľko rádov viac, než je odhadovaný počet atómov v pozorovateľnom vesmíre. Každý text na svete — každá kniha, každý e-mail, každá správa — padne na jednu z týchto hodnôt. Pravdepodobnosť, že sa dva rôzne texty náhodou zhodujú, je pre praktické účely na nerozoznanie od nuly.

## Ako to vyzerá v kóde

## Prečo to nazývame vosková pečať

V európskej korešpondencii od pätnásteho do devätnásteho storočia uzatváral list pečatný vosk. Kvapka roztaveného vosku, pritlačená pečať a list bol neopakovateľne označený. Nechránilo to obsah pred odhodlaným sliedičom — papier sa dal čítať proti svetlu, vosk sa dal zlomiť — ale bolo to zjavné. Akékoľvek narušenie uzáveru bolo pre adresáta viditeľné ešte pred otvorením listu. Vosková pečať nezabránila poškodeniu; deklarovala ho.

SHA-256 jadra každého vydania Cuadernos plní v digitálnej verzii rovnakú funkciu. Ak by sa čo i len jedno slovo článku zmenilo od okamihu vydania po moment, keď si ho prečítate, hexadecimálna pečať na konci textu by sa už nezhodovala s SHA-256 textu, ktorý máte pred sebou. Mohol by to skontrolovať ktorýkoľvek čitateľ s piatimi riadkami kódu. Publikácia nemôže prepísať svoju históriu bez toho, aby ju pečať neprezradila. Nechráni pred poškodením; robí ho overiteľným.

## Čo hash nie je

Od SHA-256 sa niekedy vyžadujú štyri spôsoby použitia, ktoré mu neprislúchajú:

1. Šifrovať. Hash zhrnie, neskrýva. Ak chcete, aby bol text nečitateľný, musíte ho zašifrovať, nie zahashovať.
2. Overovať autora. Hash nehovorí, kto text napísal, iba to, aký text bol zahashovaný. Na priradenie autorstva je potrebný kryptografický podpis nad hashom, nie iba samotný hash.
3. Uchovávať heslá. Tu je pasca, ktorej je dobré porozumieť. SHA-256 je navrhnutý tak, aby bol veľmi rýchly — čo je dobré pre mnohé veci, ale zlé pre túto. Útočník so špecializovaným hardvérom dokáže vyskúšať miliardy hesiel za sekundu proti hashu SHA-256, kým nenájde to vaše. Na ukladanie hesiel by sa mali používať zámerne pomalé funkcie odvodenia kľúča, ako sú Argon2, scrypt alebo bcrypt, v kombinácii so *soľou* (jedinečným náhodným údajom pre každého používateľa, ktorý bráni dvom ľuďom s rovnakým heslom mať rovnaký hash).
4. Čítať hash ako identifikátor autora. Tak to nie je. Hash identifikuje obsah. Ak dvaja ľudia zahashujú slovo *ahoj* pomocou SHA-256, obaja získajú rovnaký odtlačok — a to je kľúčová vlastnosť, nie chyba: keby boli odtlačky odlišné, nemohli by sme skontrolovať zhodu medzi tým, čo bolo uverejnené, a tým, čo bolo prijaté.

## Kde sa SHA-256 objavuje vo vašom každodennom živote

Hoci ho nevidíte, SHA-256 podopiera veľkú časť toho, čo denne používate na internete. Blockchain siete Bitcoin sa vytvára reťazením SHA-256 každého bloku s ďalším; zmena starého bloku núti prepočítať celý nasledujúci reťazec. Git, systém na správu verzií kódu používaný polovicou sveta, identifikuje každý commit podľa SHA-256 (v novších verziách) alebo jeho predchodcu SHA-1 (v starších) jeho celého obsahu. Certifikáty HTTPS, ktoré pri vstupe overujú identitu webovej stránky, majú priradený odtlačok SHA-256. Sťahovanie softvéru je často sprevádzané hashom SHA-256 zverejneným vývojárom, aby ste si mohli overiť, že súbor nebol cestou zmenený. A ako sme už povedali, na konci každého vydania Cuadernos Lacre.

## Pre odborného čitateľa

Štyri operatívne pripomienky pre tých, ktorí rozhodujú o systémoch alebo ich auditujú:

1. Hash nie je šifrovanie. Ak poskytovateľ vo svojej technickej dokumentácii zamieňa tieto dva pojmy, je dobré sa opýtať, čo presne tým myslí.
2. Na uchovávanie hesiel by sa nikdy nemal používať samotný SHA-256. SHA-256 je na túto úlohu príliš rýchly (pozri bod 3 v *Čo hash nie je*). Súčasným štandardom je Argon2id: zo svojej podstaty pomalý, konfigurovateľný podľa výkonu servera, v kombinácii s inou náhodnou *soľou* pre každého používateľa.
3. Pre integritu dokumentov — zmlúv, záznamov, súborov — zostáva SHA-256 referenčným štandardom. Je to štandard, ktorý používajú kvalifikované elektronické časové pečiatky v EÚ.
4. Pri dlhodobom uchovávaní (desaťročia) sa odporúča popri SHA-256 vypočítať a archivovať aj SHA-3 alebo SHA-512; kryptografická obozretnosť velí nespoliehať sa na jednu funkciu pri archívoch uchovávaných celé storočie.

Predstavte si, že ste zostavili najprepracovanejší domino okruh na svete: tisíce kameňov, desiatky odbočiek, mechanické mostíky a rampy cez celú miestnosť, starostlivo rozložené kúsok po kúsku.

Ak cvaknete do prvého kameňa, reťaz padá v presnom a opakovateľnom poradí. Rovnaká zostava, rovnaký počiatočný impulz → identický výsledný vzor spadnutých kameňov, znova a znova.

Tu je to zaujímavé: posuňte jediný kameň o pol centimetra na stranu pred začiatkom a znova doň cvaknite. Rampa, ktorá sa mala aktivovať, ostane nehybná, mostík nespadne, spustí sa iná odbočka. Výsledný vzor kameňov na podlahe je úplne nerozoznateľný v porovnaní s tým prvým.

SHA-256 je matematicky tento okruh. Text, ktorý píšete, je počiatočná poloha kameňov. Algoritmus je impulz, ktorý uvoľní kaskádu. A konečný výsledok – to, čo nazývame *hash* – je nehybná fotografia podlahy, keď sa všetko zastavilo. Zmeňte jednu čiarku v pôvodnom texte a fotografia bude radikálne iná. Také jednoduché a také drastické.

---

*Ak sa vrátite na koniec tohto článku, uvidíte šesťdesiatštyriznakovú hexadecimálnu pečať. Je to SHA-256 textu, ktorý ste práve dočítali v tomto jazyku. Keby sme článok preložili, pečať by bola iná; keby sa zmenilo jediné slovo v španielskej verzii, španielska pečať by sa zmenila. Pečať nechráni obsah — na to slúžia iné nástroje — ale jednoznačne ho identifikuje. A to, akokoľvek skromne to znie, stačí na to, aby žiadny krok v redakčnom reťazci nemohol nenápadne zmeniť to, čo bolo povedané. Zvyšok — šifrovanie, podpisovanie, identifikácia — sa buduje na tejto jednoduchej myšlienke.*

## Zdroje a ďalšie čítanie

- NIST — *FIPS PUB 180-4: Secure Hash Standard (SHS)*, august 2015. Oficiálna špecifikácia rodiny SHA-2 vrátane SHA-256.
- RFC 6234 — *US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)*, IETF, máj 2011. Normatívna verzia pre implementátorov.
- Ferguson, N.; Schneier, B.; Kohno, T. — *Cryptography Engineering: Design Principles and Practical Applications* (Wiley, 2010). Kapitoly 5 a 6 sa zaoberajú hashovacími funkciami a ich legitímnym aj nelegitímnym využitím.
- Nakamoto, S. — Bitcoin: A Peer-to-Peer Electronic Cash System (2008). Praktický príklad použitia SHA-256 na reťazenie blokov do štruktúry z princípu nemennej.
- Nariadenie (EÚ) 910/2014 (eIDAS) — rámec pre kvalifikované elektronické časové pečiatky. SHA-256 je referenčnou funkciou pre kvalifikované elektronické podpisy a pečate vydávané v EÚ.
- Referenčná implementácia v jazyku Zig: std.crypto.hash.sha2.Sha256 v oficiálnom repozitári jazyka (*github.com/ziglang/zig* → lib/std/crypto/sha2.zig). Toto je optimalizovaná a auditovaná verzia, ktorú Solo2 skutočne používa. Užitočná na porovnanie s didaktickou implementáciou v prílohe.

---

*Cuadernos Lacre · Publikácia spoločnosti Menzuri Gestión S.L. · napísal R.Eugenio · edituje tím Solo2.*
*https://solo2.net/sk/sesity/*
