Skip to main content

SHA-256

Kriptografian, SHA-256 (Secure Hash Algorithm-1, Hash Seguruaren Algoritmoa) 256 bit dituen eta segurtasun kriptografikoan erabiltzen den algoritmoa da. Algoritmo horiek hashak (luzera finkoa duten karaktere-kateak) atzeraezinak eta bakarrak sortzen dituzte. Hash posibleen kopurua zenbat eta handiagoa izan, orduan eta txikiagoa izango da bi baliok hash bera sortzeko probabilitatea.

Adibideak:

  • SHA2-256("kaixo") = d050c1cbf2956cde459da5c8fd8851da352c10c52f758d0e3bfbef2473a802b7
  • SHA2-256("agur") = d3404c774cf3207c4fe9d82751da0b96a7db8679b11e71cb7fc4cd4e40ee247c

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. Lehenengo funtzioa garatu eta bi urtera, 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-256 algoritmoaren prozesaketak 5 urrats ditu:

  1. Sarrera-mezuan betetzeko bit gehigarriak txertatzen dira. Betetze horri esker, edukiaren egitura eta luzera ezkutatzen da, eta horrek zaildu egiten du zibererasotzaileak eraso egitea. Horretarako, "1” gehitzen da eta jarraian behar beste "0”, 512 biten blokea osatu arte.
  2. Bete aurreko jatorrizko mezuaren luzera irudikatzen duen 64 blokeko bita gehitzen zaio.
  3. 256 biteko cachea hasieratzen da hash funtzioaren erdibideko eta amaierako emaitzak biltegiratzeko. 8 erregistro ditu (A, B, C, D, E,, G:) eta bakoitzak 32 bit.
  4. 512 biteko bloketan prozesatzen da mezua. Algoritmoak oinarrizko sei funtzio logiko erabiltzen ditu eta 64 operazio iteratibo ditu. Urrats bakoitzak ABCDEFGH 256 biteko buferraren balioa hartzen du sarrera gisa eta gero buferraren edukia eguneratzen du. Urrats bakoitzak 32 biteko Kt balio iraunkorra eta 32 biteko Wt balioa hartzen du.
  5. 512 biteko balio guztiak prozesatu ostean, SHA-256 algoritmoak sortutako azken bloketik lortutako irteera 256 biteko laburpen bat da.

SHA-256 algoritmoa segurtasun- eta protokolo-tresna ugaritan erabiltzen da, besteak beste, TLS, SSL, PGP, SSH o IPsec-en. SHA-256ren beste aplikazio-eremu interesgarri bat bitcoinekin eta kriptodiruarekin lotuta dago. Laneko Probaren Protokoloa (Proof-Of-Work ingelesez), algoritmo hori kontuan hartuta diseinatu zuten eta igarkizun kriptografiko konplexuak ebazteko funtzio hori intentsiboki erabili behar zen. 

Egun, SHA-256 segurutzat jotzen da, SHA-1 bere aurrekarian ahultasun matematiko berberak dituen arren, eta jakinda, eraso publiko onenek 64 iteraziotik 46 hautsi dituztela. Hala ere, badaude SHA-256 ordezkatzeko erabil daitezkeen ondorengoak, esaterako, SHA3.