# Što je zapravo SHA-256

> Cuadernos Lacre · Koncept · 19. svibnja 2026.
> https://solo2.net/hr/biljeznice/articulos/sto-je-zapravo-sha-256.html

Matematički otisak koji stane u šezdeset i četiri znaka i koji se potpuno mijenja ako se pomakne samo jedan zarez u izvornom tekstu. Zašto ga zovemo digitalnim pečatnim voskom.

---

## Jednostavna ideja iza tehničkog naziva

Zamislite da postoji stroj s jednim utorom i jednim zaslonom. Kroz utor ubacujete tekst: riječ, rečenicu, cijeli roman. Na zaslonu se, trenutak kasnije, pojavljuje niz od točno šezdeset i četiri znaka. Taj niz stručni čitatelji zovu *hash* ili *kriptografski sažetak*; obični čitatelji to zasad mogu zvati matematičkim otiskom teksta, baš kao što je otisak prsta otisak osobe.

Ako isti tekst unesete dva puta, stroj će oba puta pokazati isti otisak. Ako unesete malo drugačiji tekst — jedan pomaknuti zarez, veliko slovo koje postane malo — stroj će pokazati potpuno drugačiji otisak od prvog. Ne sličan: drugačiji. Ta dva svojstva zajedno — determinizam i osjetljivost — čine jednostavnu ideju. Sve ostalo kod SHA-256 je mehanizam koji ih tjera da rade ispravno.

Vrijedi odmah na početku reći što stroj ne radi. On ne kriptira tekst. Ne skriva ga. Ne sprema ga. Stroj gleda tekst, izračunava otisak i zaboravlja tekst. Otisak ne dopušta rekonstrukciju teksta koji ga je proizveo; on samo dopušta, s obzirom na ponuđeni tekst, provjeru podudara li se on s izvornikom. Zato kažemo da je to *jednosmjerni* sažetak: ide se naprijed, ali se ne vraća.

## Hash nije isto što i kriptiranje

Zabuna je česta i vrijedi je razjasniti: kriptiranje i hashiranje različite su operacije. Kriptiranje se sastoji od transformacije teksta tako da ga samo vlasnik ključa može vratiti u izvorni oblik. Hashiranje se sastoji od stvaranja otiska teksta iz kojeg se izvorni tekst nikada ne može vratiti, ni s ključem ni bez njega. Prvo je po dizajnu reverzibilno; drugo je po dizajnu ireverzibilno.

Praktična posljedica je važna. Kada aplikacija kaže „spremamo vašu lozinku kriptiranu“, postoji netko tko ima ključ za njezino dekriptiranje — u svakom slučaju sama aplikacija. Kada aplikacija kaže „spremamo vašu lozinku hashiranu“, sama aplikacija ne može pročitati izvornu lozinku čak i da to želi; može samo provjeriti proizvodi li ono što upišete ponovno isti otisak. Drugi model, ako se izvede ispravno, puno je bolji od prvog za pohranjivanje lozinki. Kasnije ćemo vidjeti zašto „ispravno izvedeno“ zahtijeva nešto više od samog SHA-256.

## Četiri svojstva koja kriptografski hash čine korisnim

Hash funkcija koja zaslužuje pridjev *kriptografska* ispunjava četiri svojstva:

1. Determinizam. Isti ulaz uvijek proizvodi isti otisak.
2. Efekt lavine. Mala promjena u ulazu proizvodi potpuno drugačiji otisak, bez vidljive sličnosti s prethodnim.
3. Otpornost na inverziju. Na temelju otiska nije računalno izvedivo pronaći tekst koji ga je proizveo.
4. Otpornost na kolizije. Nije računalno izvedivo pronaći dva različita teksta koja proizvode isti otisak.

„Nije računalno izvedivo“ ne znači „matematički je nemoguće“. To znači da trošak vremena, energije i novca za postizanje toga premašuje redove veličine ukupnog razumno dostupnog računalnog kapaciteta. Za SHA-256 se ta granica mjeri u tisućama bilijuna godina, čak i uz najoptimističnije pristupe sa specijaliziranim hardverom. Što je za praktične svrhe čitatelja isto što i „ne može se“.

## SHA-256, konkretno

Ime govori sve. SHA je kratica za *Secure Hash Algorithm*: sigurni hash algoritam. Broj 256 označava veličinu otiska u bitovima: dvjesto pedeset i šest bitova, odnosno trideset i dva bajta, koji su prikazani u heksadekadskom obliku onih šezdeset i četiri znaka koje čitatelj već prepoznaje. Standard je objavio američki NIST, tijelo koje normira ovu vrstu funkcija, 2001. godine kao dio obitelji SHA-2; trenutna verzija standarda, FIPS 180-4, datira iz 2015.

Dimenzije zaslužuju trenutak pažnje. Dvjesto pedeset i šest bitova omogućuje dva na dvjesto pedeset i šestu različitih vrijednosti: broj sa sedamdeset i osam decimalnih znamenki, nekoliko redova veličine veći od procijenjenog broja atoma u vidljivom svemiru. Svaki tekst na svijetu — svaka knjiga, svaki e-mail, svaka poruka — pada na jednu od tih vrijednosti. Vjerojatnost da se dva različita teksta slučajno podudare u praksi se ne razlikuje od nule.

## Kako to izgleda u kodu

## Zašto ga zovemo pečatnim voskom

U europskoj korespondenciji od petnaestog do devetnaestog stoljeća, pečatni vosak je zatvarao pismo. Kap rastopljenog voska, pečat pritisnut na njega i pismo bi ostalo neponovljivo označeno. To nije štitilo sadržaj od odlučnog njuškala — papir se mogao pročitati kroz svjetlo, vosak se mogao slomiti — ali ga je dokazivalo. Svaka izmjena zatvarača bila je vidljiva primatelju i prije otvaranja papira. Pečatni vosak nije sprječavao štetu; on ju je objavljivao.

SHA-256 tijela svakog Cuaderna obavlja istu funkciju u svojoj digitalnoj verziji. Ako se samo jedna riječ u članku promijeni između trenutka objave i trenutka kada ga čitate, heksadekadski pečat na dnu teksta više se ne bi podudarao s SHA-256 teksta koji imate ispred sebe. Svaki čitatelj s pet redaka koda mogao bi to provjeriti. Publikacija ne može prepisati svoju povijest, a da je pečat ne oda. On ne štiti od štete; on je čini provjerljivom.

## Što hash nije

Od SHA-256 se ponekad traže četiri namjene koje mu ne pripadaju:

1. Kriptiranje. Hash sažima; ne skriva. Ako želite da tekst ne bude čitljiv, trebate ga kriptirati, a ne hashirati.
2. Autentifikacija autora. Hash ne govori tko je napisao tekst, već samo koji je tekst hashiran. Za povezivanje autorstva potreban je kriptografski potpis povrh hasha, a ne sam hash.
3. Pohranjivanje lozinki. Ovdje postoji zamka koju vrijedi razumjeti. SHA-256 je dizajniran da bude vrlo brz — što je dobro za mnoge stvari, ali loše za ovo. Napadač sa specijaliziranim hardverom može isprobati milijarde lozinki u sekundi protiv SHA-256 hasha dok ne pogodi vašu. Za spremanje lozinki moraju se koristiti namjerno spore funkcije za izvođenje ključeva kao što su Argon2, scrypt ili bcrypt, u kombinaciji sa *solju* (jedinstveni nasumični podatak po korisniku, koji sprječava da dvije osobe s istom lozinkom imaju isti hash).
4. Čitanje hasha kao identifikatora autora. To nije to. Hash identificira sadržaj. Ako dvije osobe hashiraju riječ *bok* pomoću SHA-256, obje dobivaju isti sažetak — i to je središnje svojstvo, a ne nedostatak: kad bi to bili različiti sažeci, ne bismo mogli provjeriti podudarnost između objavljenog i primljenog.

## Gdje se SHA-256 pojavljuje u vašem svakodnevnom životu

Iako to ne vidite, SHA-256 podržava dobar dio onoga što svakodnevno koristite na internetu. Bitcoin blockchain gradi se ulančavanjem SHA-256 svakog bloka sa sljedećim; izmjena prošlog bloka prisiljava na ponovno izračunavanje cijelog kasnijeg lanca. Git, sustav kojim se verzira kod polovice svijeta, identificira svaku potvrdu (commit) pomoću SHA-256 (u novijim verzijama) ili njegovog prethodnika SHA-1 (u starijim verzijama) njegovog cjelokupnog sadržaja. HTTPS certifikati koji verificiraju identitet web stranice kada uđete imaju povezani SHA-256 otisak. Preuzimanja softvera često su popraćena SHA-256 otiskom koji je objavio programer kako biste mogli provjeriti da datoteka nije izmijenjena usput. I, kao što smo rekli, na dnu svakog Cuaderno Lacre.

## Za profesionalnog čitatelja

Četiri operativna podsjetnika za one koji odlučuju o sustavima ili ih revidiraju:

1. Hash nije kriptiranje. Ako dobavljač pobrka ova dva pojma u svojoj tehničkoj dokumentaciji, vrijedi pitati što točno želi reći.
2. Za pohranjivanje lozinki nikada se ne smije koristiti samo SHA-256. SHA-256 je prebrz za ovaj zadatak (vidi točku 3 u *Što hash nije*). Trenutni standard je Argon2id: spor po dizajnu, podesiv prema kapacitetu poslužitelja, u kombinaciji s različitom nasumičnom *solju* po korisniku.
3. Za integritet dokumenata — ugovora, spisa, arhiva — SHA-256 ostaje referentni standard. To je onaj koji koriste kvalificirani pružatelji usluga vremenskog žiga u EU.
4. Za dugoročno očuvanje (desetljećima) vrijedi izračunati i arhivirati SHA-3 ili SHA-512 uz SHA-256; kriptografski oprez preporučuje da se ne oslanjate na jednu funkciju za stoljetne arhive.

Zamislite da ste složili najrazrađeniji domino krug na svijetu: tisuće pločica, deseci račvanja, mehanički mostovi i rampe koji se protežu cijelom sobom, pažljivo postavljeni dio po dio.

Ako dotaknete prvu pločicu, lanac pada u preciznom i ponovljivom nizu. Isti postav, isti početni dodir → identičan završni uzorak palih pločica, iznova i iznova.

Ovdje postaje zanimljivo: pomaknite samo jednu pločicu pola centimetra u stranu prije početka i ponovno je dotaknite. Rampa koja se trebala aktivirati ostaje nepomična, most ne pada, aktivira se drugo račvanje. Završni uzorak pločica na podu potpuno je neprepoznatljiv u usporedbi s prvim.

SHA-256 je matematički gledano upravo ovaj krug. Tekst koji upišete početni je položaj pločica. Algoritam je dodir koji pokreće lavinu. A konačni rezultat — ono što zovemo *hash* — statična je fotografija poda kada se sve zaustavi. Promijenite samo jedan zarez u izvornom tekstu i fotografija će biti radikalno drugačija. Tako jednostavno, a tako drastično.

---

*Ako se vratite na dno ovog članka, vidjet ćete heksadekadski pečat od šezdeset i četiri znaka. To je SHA-256 teksta koji ste upravo pročitali, na ovom jeziku. Da smo preveli članak, pečat bi bio drugačiji; da se promijeni jedna riječ u hrvatskoj verziji, hrvatski bi se pečat promijenio. Pečat ne štiti sadržaj — za to služe drugi alati — već ga jedinstveno identificira. I to je, koliko god skromno zvučalo, dovoljno da nijedan korak u uredničkom lancu ne može promijeniti rečeno, a da se to ne primijeti. Sve ostalo — kriptiranje, potpisivanje, identificiranje — gradi se na ovoj jednostavnoj ideji.*

## Izvori i dodatno štivo

- NIST — *FIPS PUB 180-4: Secure Hash Standard (SHS)*, kolovoz 2015. Službena specifikacija obitelji SHA-2, uključujući SHA-256.
- RFC 6234 — *US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)*, IETF, svibanj 2011. Normativna verzija za implementatore.
- Ferguson, N.; Schneier, B.; Kohno, T. — *Cryptography Engineering: Design Principles and Practical Applications* (Wiley, 2010). Poglavlja 5 i 6 pokrivaju hash funkcije i njihovu legitimnu i nelegitimnu upotrebu.
- Nakamoto, S. — Bitcoin: A Peer-to-Peer Electronic Cash System (2008). Praktičan primjer korištenja SHA-256 za ulančavanje blokova u strukturi koja je po konstrukciji nepromjenjiva.
- Uredba (EU) 910/2014 (eIDAS) — okvir kvalificiranih pružatelja usluga vremenskog žiga. SHA-256 je referentna funkcija za kvalificirane elektroničke potpise i pečate izdane u EU.
- Referentna implementacija u Zigu: std.crypto.hash.sha2.Sha256 u službenom repozitoriju jezika (*github.com/ziglang/zig* → lib/std/crypto/sha2.zig). To je optimizirana i revidirana verzija koju zapravo koristi Solo2. Korisno za usporedbu s didaktičkom implementacijom iz dodatka.

---

*Cuadernos Lacre · Publikacija Menzuri Gestión S.L. · napisao R.Eugenio · uredio tim Solo2.*
*https://solo2.net/hr/biljeznice/*
