# Hash, gatza, bcrypt eta Argon2: zer egiten du ondo egindako webgune batek zure pasahitzarekin

> Ondo egindako webgune batek ez daki zure pasahitza: aztarna bat gordetzen du. Eta aztarna hori kalkulatzen duen funtzioak nahita motela izan behar du, defendatzaileak eta erasotzaileak lasterketa berbera egiten duten defentsa bakarra delako.

2026-03-26 · David Carrero · password.es
Original: https://password.es/eu/blog/hash-gatza-bcrypt-argon2/

---

Ondo egindako webgune batek ez daki zure pasahitza. Ez da nahi ez duelako: ezin
duelako baizik.

Iruzurra dirudi, idazten duzun bakoitzean sistemak sartzen uzten dizulako, eta
sartzen uzteko zerbait egiaztatu behar duelako. Baina egiaztatzea ez da jakitea.
Zerbitzariak zure pasahitzetik kalkulatutako **aztarna** bat gordetzen du;
idazten duzunean, aztarna berriro kalkulatu eta konparatu egiten du. Bat
badatoz, aurrera. **Inongo unetan ez da beharrezkoa pasahitza inon idatzita
egotea.**

Hortik dator zerbitzu serio bat eta ez dena bereizteko seinalerik argiena:
ahazten baduzu eta postaz bidaltzen badizute, gordeta zeukaten. Eta gordeta
dagoena, lehenago edo beranduago, beste norbaiten eskuetara iristen da.

## 1979: pasahitzak ez gordetzearen ideia —eta poliki egitearena—

1979an, **Robert Morris eta Ken Thompson**-ek «Password Security: A Case
History» argitaratu zuten *Communications of the ACM* aldizkarian, Unixen
egindakoa kontatuz. Ikasitakoaren kontakizun bat da, eta bertan gaur egun
begi-bistakotzat ditugun bi ideia finkatu ziren.

Lehenengoa ez zuten haiek asmatu —pasahitzaren ordez hasha gordetzea lehenago
ere egiten zen—, baina inork baino hobeto azaldu zuten: **pasahitza ez gorde,
haren hasha gorde**. Zure pasahitza itxura arbitrarioko balio batean bihurtzen
duen funtzio bat, atzera desegin ezin dena: hashetik ez da pasahitzera
itzultzen.

Bigarrena bai, haiena da: **gatza**. Erabiltzaile bakoitzarentzat ausazko balio
desberdin bat, hasha kalkulatu aurretik pasahitzarekin nahasten dena. Gatzik
gabe, pasahitz bera duten bi lagunek hash bera dute —lapurtutako fitxategia
errepikatuak bilatzeko joko bihurtzen da— eta, okerrago dena, norbaitek taula
erraldoi bat behin aurrez kalkulatu eta munduko datu-base guztien kontra erabil
dezake. **Gatzak ez du zure pasahitza asmatzen zailagoa egiten: hura asmatzeak
beste inori balio ez izatea lortzen du.**

Baina artikulu horretan bertan hirugarren ideia bat dago, askoz gutxiago
aipatua, eta hemen axola duena: funtzioa **nahita motela** egin zuten. Ez
zabarkeriaz. Nahita. Pasahitz bat enkriptatzeak teknikoki behar zena baino
askoz gehiago kostatzen zuen, goizero behin sartzen denari berdin diolako, eta
milioika hautagai probatzen dituenari ez.

Hor dago dena, ia berrogeita hamar urteko esaldi batean.

## Zergatik den moteltasuna defentsa zintzo bakarra

Informatikako defentsa ia guztiak asimetrikoak dira: gutxi kostatzen zaio
defendatzen denari eta asko erasotzen duenari. Zifratzea merkea da; gakorik
gabe deszifratzea ezinezkoa. Defendatzaileak egiturazko abantailarekin jokatzen
du.

Pasahitzen biltegiratzeak ez. **Hemen defendatzaileak eta erasotzaileak funtzio
berbera exekutatzen dute.** Zuk hasha kalkulatzen duzu asmatu duzula
egiaztatzeko; hark kalkulatzen du asmatu duen egiaztatzeko. Segurtasuneko
lasterketa bakarra da non biek hanka berberekin korritzen duten.

Zure arerioa baino azkarrago ezin duzunean korritu, jokaldi bakarra geratzen da:
**pista biontzat garestitzea**. Zuk kostu hori saio bakoitzeko behin ordaintzen
duzu. Hark, saiakera bakoitzeko behin. Zuk baino magnitude-ordena bat gehiago
saiakera behar dituenez, faktura berak erabat modu desberdinean eragiten dizue.
Hori da pasahitz-hash batek egiten duena.

Horregatik dira beste gauza batzuetarako azkarrak eta bikainak diren funtzioak
—SHA-256, adibidez— aukera negargarria hemen. Azkarrak dira. Azkarra da, hain
zuzen, nahi ez duguna.

## 1999: bcrypt, eta kostua pieza doigarri gisa

Funtzio motel baten arazoa da hardwarea ez dela geldirik geratzen. 1979an motela
zena, gero berehalakoa da. Hamarkada bateko ordenagailuen kontra kalibratutako
defentsa bat bakarrik zahartzen da, inork ukitu gabe.

1999an, **Niels Provos eta David Mazières**-ek **bcrypt** aurkeztu zuten USENIX
Annual Technical Conference-n, dena esaten duen izenburu batekin: *A
Future-Adaptable Password Scheme*.

Ideia: kostua **funtzioan ez, parametro batean egotea**. bcryptek zuk erabakitzen
duzun eta hasharekin batera gordetzen den kostu-faktore bat darama. Hardwarea
askoz azkarragoa bihurtzen bada, zenbakia igo eta pasahitz berriek behar dutena
kostatzen dute berriro, algoritmoz aldatu gabe.

**Bere zaharkitzea onartu eta horretarako prestatzen den diseinu bat da.**
Software gutxik egiten du hori.

## 2009: scrypt, eta denbora nahikoa ez dela deskubritzea

bcryptek kalkulu-denbora garestitzen du, eta funtzionatu zuen. Erasotzaileak
defendatzailearen makina mota bera erabiltzeari utzi zion arte.

Zerbitzari batek nukleo azkar eta orokor gutxi batzuk ditu. GPU batek nukleo
txikien pila izugarria dauka gauza bera paraleloan egiten, eta ASIC batek
harago jotzen du: eragiketa bakar bat exekutatzeko fabrikatutako silizioa. Zure
defentsa «eragiketa honek X kostatzen du» bada, norbaitek X asko aldi berean
egiten dituen hardwarea eraiki dezake. Defendatzaileak bere zerbitzariarekin
jarraitzen du.

2009an, **Colin Percival**-ek **scrypt** aurkeztu zuen beste argudio batekin:
*Stronger Key Derivation via Sequential Memory-Hard Functions*. Kostua kalkuluan
bakarrik badago, paralelizatu egiten da. Baina **memoria ez da oparitzen**.
Behartu funtzioa RAM asko erabiltzera eta hura saihestu ezin den moduan
zeharkatzera, eta bat-batean erasotzaileak ezin ditu nukleoak biderkatu: nukleo
bakoitzak bere memoria beharko luke. Eta GPU baten nukleoek potentzia handia
dute eta RAM oso gutxi bakoitzarentzat.

**Percivalek ez zuen eragiketa garestitu. Hura masan errepikatzeko beharrezkoa
den hardwarea garestitu zuen.** Maila-aldaketa bat da: erasotzailearen
aurrekontuari erasotzen zaio, ez haren erlojuari.

## 2015: Argon2, eta eztabaidaren amaiera

Aukera zentzuzko bat baino gehiago egoteak ez zion inori aukeratzen lagundu.
Hala, komunitate kriptografikoak zerbait behin betiko erabaki nahi duenean ohi
duena egin zuen: lehiaketa publiko bat. **Password Hashing Competition**-ek
hautagaiak jaso zituen, urteetan analisi irekiaren pean jarri zituen eta
**2015ean** **Argon2** izendatu zuen irabazle.

Argon2k bi ikasgaiak jasotzen ditu: denbora-kostua eta memoria-kostua, biak
bereizita doigarriak, gehi hari kopurua. Ez da magia. 1979ren, 1999ren eta
2009ren sintesi ordenatua da, hura hausten saiatzea lantzat zuen jendeak
berrikusia.

## Zer esan nahi du honek zuretzat

Honetatik ia ezer ez dago zure esku, eta esan beharra dago: **hasha webguneak
aukeratzen du, ez zuk**. Munduko pasahitzik onena eduki dezakezu, eta haiek
Excel batean testu lauan gordetzen amaitu.

Baina ekuazioaren beste aldea bai, zure esku dago. Eraikuntza honek guztiak
—gatzak, kostuak, memoriak— erasotzailearen **saiakera bakoitza garestitzeko**
balio du. Zenbat saiakera behar dituen erabakitzen duena zure pasahitza da.
Hiztegi batean badago, funtzio motelik ez zaitu salbatuko: lehenengoen artean
eroriko da. Luzea bada eta ez badu ezeren antzik, saiakera bakoitzeko prezio
hori eskura dagoen denboran sartzen ez den saiakera kopuru batekin biderkatzen
da.

Horregatik neurtzen ditu gure [sorgailuak](/eu/) **entropia-bitak** eta ez
ehunekoak, eta horregatik bilatzen du [egiaztatzaileak](/eu/egiaztatzailea/)
zure pasahitza hiztegietan sinboloak zenbatu baino lehen. **Haiek saiakera
bakoitzaren prezioa jartzen dute; zuk saiakera kopurua.** Bi erdietako batek
ere ez du bestea gabe funtzionatzen.

Eta bai: betiko galdera bera da oraindik. Kontua da orain, beste aldean,
norbait segundoko askotan erantzuten saiatzen ari dela, eta 1979tik gabiltzala
aldi horietako bakoitza diru kontua izan dadin ahalegintzen.

---

*Iturriak: R. Morris eta K. Thompson, «Password Security: A Case History»,
Communications of the ACM, 1979 · N. Provos eta D. Mazières, «A
Future-Adaptable Password Scheme», USENIX Annual Technical Conference, 1999
(bcrypt) · C. Percival, «Stronger Key Derivation via Sequential Memory-Hard
Functions», 2009 (scrypt) · Password Hashing Competition, Argon2 irabazle,
2015.*
