Skip to main content

SHA-1

Kriptografian, SHA-1 (Secure Hash Algorithm-1, Hash Seguruaren Algoritmoa euskaraz) sarrera bat hartu eta 160 biteko hash balioa laburbildutako mezu gisa sortzen duen hash kriptografikoaren funtzioa da.  Hash hau (luzera finkoa duen karaktere-katea) 40 digitu dituen zenbaki hamaseitarren itxurarekin ageri da gehienetan. MITeko Ronald L. Rivest irakasleak MD4 eta MD5 mezua laburbiltzeko algoritmoen diseinuan erabili zituen antzeko printzipioetan oinarritzen da SHA-1

Adibideak:

  • SHA1("kaixo") = ca16ca7e8ac143e077d2c5e904a37726f1f565e3
  • SHA1("agur") = b19b2665f2d89534fb67e9ba1f2ae753f749b40f

SHA familia (Hash Seguruaren Algoritmoa o Secure Hash Algorithm) funtzio hash kriptografikoak dituen sistema da. Estatu Batuetako Segurtasun Agentzia Nazionalak garatu zuen eta National Institute of Standards and Technologyk (NIST) argitaratu zuen. Funtzio horietako lehena 1993an publikatu zuten Secure Hash Standard izenburupean, FIPS PUB 180, eta ofizialki SHA gisa ezagutzen da. Funtzio hori SHA-0 gisa egin da ezaguna, bere ondorengoekin ez nahasteko. Lehengo funtzioa garatu eta urtebetera SHAren lehenengo ondorengoa argitaratu zuten, eta SHA-1 izena jarri zioten. Ordutik, lau aldaera gehiago argitaratu dituzte SHA-2 izenpean; haien arteko aldeak diseinuan eta igotzen joan diren irteera mailetan daude: SHA-224, SHA-256, SHA-384, eta SHA-512 dira. SHA-3 da familiako azken kidea, 2015ko abuztuan argitaratu zuen NISTek. Bere algoritmoak SHA-2ren luzera bereko hashak sortzen ditu, baina beste metodo bat erabiltzen du, Keccak algoritmoan oinarritzen dena.

SHA-1ren prozesaketak 5 urrats ditu:

  1. Sarrera-mezuan betetzeko bitak txertatzen dira. Horretarako, "1” gehitzen da eta jarraian behar beste "0”, 512 biten blokea osatu arte. Betetze horri esker, edukiaren egitura eta luzera ezkutatzen da, eta horrek zaildu egiten du zibererasotzaileak eraso egitea.
  2. Bete aurreko jatorrizko mezuaren luzera irudikatzen duen 64 blokeko bita gehitzen zaio.
  3. Aldi baterako memoria hasieratzen da. 160 bit ditu eta helburua banaketa-funtzioaren erdibideko eta amaierako emaitzak biltegiratzen ditu. 5 erregistro ditu (A, B, C, D, E) eta bakoitzak 32 bit.
  4. 512 biteko bloketan prozesatzen da mezua. Bakoitza modulu batetik pasatzen da, eta modulu horrek 20 urratseko 4 prozesamendu-erronda ditu. Errondek antzeko egitura dute, baina bakoitzak jatorrizko funtzio logiko desberdina dauka.
  5. 512 biteko bloke guztiak prozesatu ostean, mezuaren laburpena azken blokearen irteerako 160 bitak dira.

Konpresio-funtzioko mezuen programazioan dagoen bit eta biteko biraketa bat da SHA-1 eta SHA-0ren arteko alde bakarra. Bere segurtasun kriptografikoa murriztu zuen jatorrizko algoritmoan zegoen akats bat zuzentzeko egin zen hori.

SHA-1 algoritmoaren erresistentzia arriskuan geratu zen 2005ean, izan ere, 2004an ikerlari txinatarren talde batek arriskuan jarri zituen MD5 gisako algoritmoak. Talde hori Xiaoyun Wang, Yiqun Lisa Yin eta Hongbo Yuk osatu zuten eta erakutsi zuten gutxienez 269  operaziotan SHA-1 algoritmoa hausteko gai zirela; indarrezko eraso batek baino 2.00 aldiz azkarrago, 280 operazio behar baititu. SHA-1ren aurkako erasorik berrienek 263 operaziotaraino ahultzea lortu dute. Oraindik operazio kopuru altua den arren, egungo kalkulu-gaitasunen mugen barruan dago.