# Zer den benetan SHA-256

> Cuadernos Lacre · Kontzeptua · 2026ko maiatzaren 19a
> https://solo2.net/eu/koadernoak/articulos/zer-den-benetan-sha-256.html

Hirurogeita lau karakteretan sartzen den aztarna matematikoa, jatorrizko testuko koma bakar bat mugitzen bada osorik aldatzen dena. Zergatik deitzen diogun lakre-zigilu digitala.

---

## Izen teknikoaren atzean dagoen ideia sinplea

Imajinatu zirrikitu bakarra eta pantaila bakarra dituen makina bat dagoela. Zirrikitutik testu bat sartzen duzu: hitz bat, esaldi bat, nobela oso bat. Pantailan, une batzuk geroago, zehazki hirurogeita lau karaktereko sekuentzia bat agertzen da. Sekuentzia horri, irakurle profesionalarentzat, *hash* edo *laburpen kriptografikoa* deitzen diogu; irakurle orokorrarentzat, testuaren aztarna matematikoa deitu diezaiokegu oraingoz, hatz-marka pertsona batena den bezala.

Testu bera bi aldiz sartzen baduzu, makinak aztarna bera erakusten du bi aldiz. Testu apur bat desberdina sartzen baduzu —koma bakar bat mugituta, letra larri bat xehe bihurtuta—, makinak lehenengoaren guztiz desberdina den aztarna erakusten du. Ez antzekoa: desberdina. Bi propietate horiek batera —determinismoa eta sentikortasuna— dira ideia sinplea. SHA-256-ren gainerako guztia horiek ondo betearazten dituen makineria da.

Hasieratik esan behar da makinak zer ez duen egiten. Ez du testua zifratzen. Ez du ezkutatzen. Ez du gordetzen. Makinak testua begiratzen du, aztarna kalkulatzen du eta testuaz ahazten da. Aztarnak ez du ahalbidetzen hura sortu zuen testua berreraikitzea; hautagai den testu bat emanda, jatorrizkoarekin bat datorren ala ez egiaztatzea besterik ez du ahalbidetzen. Horregatik diogu *norabide bakarreko* laburpena dela: badoa, ez da itzultzen.

## Hash bat ez da zifratzea bezalakoa

Nahasmena maiz gertatzen da eza argitzea komeni da: zifratzea eta hasheatzea eragiketa desberdinak dira. Zifratzea testu bat eraldatzean datza, gakoaren jabeak soilik bere jatorrizko formara itzul dezan. Hasheatzea testuaren aztarna bat sortzean datza, eta aztarna horretatik ezin da inoiz jatorrizko testua berreskuratu, ez gakoarekin ez gakorik gabe. Lehenengoa itzulgarria da diseinuz; bigarrena, itzulezina diseinuz.

Ondorio praktikoak garrantzia du. Aplikazio batek «zure pasahitza zifratuta gordetzen dugu» esaten duenean, badago norbait gakoa duena hura deszifratzeko —aplikazioa bera, edonola ere—. Aplikazio batek «zure pasahitza hasheatuta gordetzen dugu» esaten duenean, aplikazioak berak ezin du jatorrizko pasahitza irakurri nahi izanda ere; idazten duzunak aztarna bera sortzen duela egiaztatu besterik ezin du egin. Bigarren eredua, ondo eginez gero, askoz hobetsiagoa da pasahitzak gordetzeko lehenengoa baino. Geroago ikusiko dugu zergatik «ondo eginda» horrek SHA-256 hutsa baino zerbait gehiago eskatzen duen.

## Hash kriptografiko bat erabilgarri egiten duten lau propietateak

*Kriptografiko* adjektiboa merezi duen hash funtzio batek lau propietate betetzen ditu:

1. Determinismoa. Sarrera berak aztarna bera sortzen du beti.
2. Lauxtasun-efektua (Avalanche effect). Sarreran aldaketa txiki bat egiteak guztiz desberdina den aztarna sortzen du, aurrekoarekin inolako antzekotasun ikusgarritik gabe.
3. Inbertsioarekiko erresistentzia. Aztarna bat emanda, ez da bideragarria konputazionalki hura sortu zuen testua aurkitzea.
4. Talkarekiko erresistentzia. Ez da bideragarria konputazionalki aztarna bera sortzen duten bi testu desberdin aurkitzea.

«Ez da bideragarria konputazionalki» esateak ez du esan nahi «matematikoki ezinezkoa denik». Esan nahi du hori lortzeko denbora-, energia- eta diru-kostua eskuragarri dagoen konputazio-ahalmen guztiaren batura baino handiagoa dela magnitude-ordenetan. SHA-256-rako, muga hori milaka bilioi urtetan neurtzen da, hardware espezializatua duten planteamendu baikorrenetan ere. Horrek, irakurlearen helburu praktikoetarako, «ezin dela» esan nahi du.

## SHA-256, zehazki

Izenak dena dio. SHA *Secure Hash Algorithm*-en siglak dira (Hash Algoritmo Segurua). 256 zenbakiak aztarnaren tamaina adierazten du bitetan: berrehun eta berrogeita hamasei bit, hau da, hogeita hamabi byte, hamaseitarrean (hexadecimal) irakurleak dagoeneko ezagutzen dituen hirurogeita lau karakterekoak direnak. NIST estatubatuarrak argitaratu zuen estandarra, mota honetako funtzioak normalizatzen dituen erakundeak, 2001ean, SHA-2 familiaren barruan; indarrean dagoen estandarraren bertsioa, FIPS 180-4, 2015ekoa da.

Dimentsioek une bat merezi dute. Berrehun eta berrogeita hamasei bitek bi berrehun eta berrogeita hamasei balio desberdin ahalbidetzen dituzte: hirurogeita hamazortzi digitu hamartar dituen zenbaki bat, unibertso behagarriko atomoen kopuru estimatua baino magnitude-ordena batzuk handiagoa. Munduko testu bakoitza —liburu bakoitza, posta elektroniko bakoitza, mezu bakoitza— balio horietako baten gainean caditzen da. Bi testu desberdin kasualitatez bat etortzeko probabilitatea, helburu praktikoetarako, zeroren parekoa da.

## Kodean nola ikusten den

## Zergatik deitzen diogun lakre-zigilua

XV. mendetik XIX. mendera bitarteko Europako korrespondentzian, lakreak ixten zuen gutuna. Argizari urtu tanta bat, zigilu bat gainean sakatuta, eta gutuna modu errepikaezinean markatuta geratzen zen. Ez zuen edukia babesten begiluze saiatuaren aurrean —papera argiaren kontra irakur zitekeen, lakrea hautsi zitekeen—, baina frogatu egiten zuen. Ixtearen edozein aldaketa ikusgarria zen hartzailearentzat papera ireki aurretik ere. Lakreak ez zuen kaltea eragozten; aitortu egiten zuen.

Cuaderno bakoitzaren gorputzaren SHA-256-ak funtzio bera betetzen du bere bertsio digitalean. Artikuluko hitz bakar bat aldatuko balitz argitaratu zenetik irakurtzen duzun unera arte, testuaren oineko zigilu hamaseitarra ez litzateke bat etorriko aurrean duzun testuaren SHA-256-arekin. Bost lerroko kodea duen edozein irakurlek egiaztatu ahal izango luke. Argitalpenak ezin du bere historia berridatzi zigiluak salatu gabe. Ez du kaltearen aurka babesten; egiaztagarri egiten du.

## Hash bat ez dena

Batzuetan SHA-256-ri dagozkionak ez diren lau erabilera eskatzen zaizkio:

1. Zifratzea. Hash batek laburtu egiten du; ez du ezkutatzen. Testua irakurtzerik ez izatea nahi baduzu, zifratu egin behar duzu, ez hasheatu.
2. Egilea autentifikatzea. Hash batek ez du esaten nork idatzi duen testua, zer testu hasheatu den baizik. Egiletza lotzeko, sinadura kriptografiko bat behar da hasha-ren gainean, ez hasha hutsa.
3. Pasahitzak gordetzea. Hemen tranpa bat dago, ulertzea komeni dena. SHA-256 oso azkarra izateko diseinatuta dago —hori ona da gauza askotarako, baina txarra honetarako—. Hardware espezializatua duen erasozaile batek milaka milioi pasahitz proba ditzake segundoko SHA-256 hash baten aurka, zurea aurkitu arte. Pasahitzak gordetzeko, gakoak deribatzeko funtzio nahita motelak erabili behar dira, hala nola Argon2, scrypt edo bcrypt, *sal* batekin (erabiltzaile bakoitzeko ausazko datu bakar bat, pasahitz bera duten bi pertsonak hash bera izatea eragozten duena) konbinatuta.
4. Hasha egilearen identifikatzaile gisa irakurtzea. Ez da horrela. Hash batek edukia identifikatzen du. Bi pertsonak *hola* (kaixo) hitza SHA-256-rekin hasheatzen badute, biek laburpen bera lortzen dute —eta hori propietate nagusia da, ez akatsa: laburpen desberdinak balira, ezingo genuke egiaztatu argitaratutakoaren eta jasotakoaren arteko kointzidentzia.

## Non agertzen den SHA-256 zure egunerokoan

Ikusten ez baduzu ere, SHA-256-ak interneten egunero erabiltzen duzunaren zati handi bat sostengatzen du. Bitcoin-en bloke-katea bloke bakoitzaren SHA-256-a hurrengoarekin kateatuz eraikitzen da; iraganeko bloke bat aldatzeak ondorengo kate osoa berriro kalkulatzea dakar. Gitek, mundu erdiko kodea bertsionatzeko erabiltzen den sistemak, konpromiso (commit) bakoitza bere eduki osoaren SHA-256-aren bidez (bertsio berrietan) edo aurreko SHA-1 baten bidez (bertsio zaharragoetan) identifikatzen du. Webgune batean sartzean haren identitatea egiaztatzen duten HTTPS ziurtagiriek SHA-256 aztarna bat dute lotuta. Software deskargak sarritan garatzaileak argitaratutako SHA-256 batekin batera doaz, fitxategia bidean aldatu ez dela egiazta dezazun. Eta, esan dugun bezala, Cuaderno Lacre bakoitzaren oinean.

## Irakurle profesionalarentzat

Lau gogorarazpen operatibo sistemak erabakitzen edo ikuskatzen dituenarentzat:

1. Hash-a ez da zifratzea. Hornitzaile batek bi terminoak nahasten baditu bere dokumentazio teknikoan, zehazki zer esan nahi duen galdetzea komeni da.
2. Pasahitzak gordetzeko ez da inoiz SHA-256 hutsa erabili behar. SHA-256 oso azkarra da zeregin honetarako (ikus *Hash bat ez dena*-ko 3. puntua). Gaur egungo estandarra Argon2id da: motel diseinuz, zerbitzariaren ahalmenaren arabera konfiguragarria, eta erabiltzaile bakoitzeko *sal* ausazko desberdin batekin konbinatua.
3. Dokumentuen osotasunerako —kontratuak, espedienteak, fitxategiak—, SHA-256-ak erreferentziazko estandarra izaten jarraitzen du. EBko denbora-zigilatzaile kualifikatuek erabiltzen dutena da.
4. Epe luzerako kontserbaziorako (hamarkadak), SHA-3 edo SHA-512 bat ere kalkulatzea eta artxibatzea komeni da SHA-256arekin batera; zuhurtzia kriptografikoak funtzio bakarrean ez fidatzea gomendatzen du ehun urteko artxiboetan.

Imajinatu munduko domino-zirkuiturik landuena muntatu duzula: milaka fitxa, dozenaka sardetze, zubi mekanikoak eta gela osoa zeharkatzen duten arrapalak, piezaz pieza kontu handiz jarrita.

Lehenengo fitxari kolpe bat ematen badiozu, katea sekuentzia zehatz eta errepikagarrian erortzen da. Muntaketa bera, hasierako kolpe bera → eroritako fitxen amaierako patroi bera, behin eta berriz.

Hona hemen interesgarria dena: mugitu **fitxa bakar bat** zentimetro erdi batera hasi baino lehen eta jo berriro. Aktibatu behar zen arrapala bat geldirik geratzen da, zubi bat ez da erortzen, beste sardetze bat aktibatzen da. Lurreko fitxen amaierako patroia guztiz ezagutezina da lehenengoarekin alderatuta.

SHA-256 matematikoki zirkuitu hau da. Idazten duzun testua fitxen hasierako posizioa da. Algoritmoa jausia askatzen duen kolpea da. Eta amaierako emaitza —*hash* deitzen duguna— dena gelditu denean lurrean geratzen den argazki finkoa da. Aldatu koma bakar bat jatorrizko testuan eta argazkia goitik behera aldatuko da. Hain sinplea, eta hain erabatekoa.

---

*Artikulu honen oinera itzultzen bazara, hirurogeita lau karaktereko zigilu hamaseitar bat ikusiko duzu. Irakurri berri duzun testuaren SHA-256-a da, hizkuntza honetan. Artikulua itzuliko bagenu, zigilua beste bat litzateke; euskarazko bertsioaren hitz bat aldatuko balitz, euskal zigilua aldatu egingo litzateke. Zigiluak ez du edukia babesten —horretarako beste tresna batzuk daude—, baina modu unibokoan identifikatzen du. Eta hori, apala badirudi ere, nahikoa da kate editorialeko urrats batek ere esandakoa aldatu ezin dezan ohartu gabe. Gainerakoa —zifratzea, sinatzea, identifikatzea— ideia sinple honen gainean eraikitzen da.*

## Iturriak eta irakurgai gehiago

- NIST — *FIPS PUB 180-4: Secure Hash Standard (SHS)*, 2015eko abuztua. SHA-2 familiaren espezifikazio ofiziala, SHA-256 barne.
- RFC 6234 — *US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)*, IETF, 2011ko maiatza. Inplementatzaileentzako bertsio arauemailea.
- Ferguson, N.; Schneier, B.; Kohno, T. — *Cryptography Engineering: Design Principles and Practical Applications* (Wiley, 2010). 5. eta 6. kapituluek hash funtzioak eta haien erabilera legitimo eta ez-legitimoak jorratzen dituzte.
- Nakamoto, S. — Bitcoin: A Peer-to-Peer Electronic Cash System (2008). Eraikuntzaz aldaezina den egitura batean blokeak kateatzeko SHA-256 erabiltzearen adibide praktikoa.
- 910/2014 (EB) Erregelamendua (eIDAS) — denbora-zigilatzaile kualifikatuek esparrua. SHA-256 erreferentziazko funtzioa da EBn ematen diren sinadura eta zigilu elektroniko kualifikatuetarako.
- Erreferentziazko inplementazioa Zig-en: std.crypto.hash.sha2.Sha256 hizkuntzaren biltegi ofizialean (*github.com/ziglang/zig* → lib/std/crypto/sha2.zig). Solo2-k erabiltzen duen bertsio optimizatua eta auditorea da. Baliagarria apendizeko inplementazio didaktikoarekin alderatzeko.

---

*Cuadernos Lacre · Menzuri Gestión S.L.ren argitalpena · R.Eugeniok idatzia · Solo2 taldeak editatua.*
*https://solo2.net/eu/koadernoak/*
