Que é realmente SHA-256 Cuadernos Lacre · Concepto · 19 de maio de 2026 https://solo2.net/gl/cadernos/articulos/que-e-realmente-sha-256.html Unha pegada matemática que cabe en sesenta e catro caracteres e que cambia enteira se unha soa coma do texto orixinal se move. Por que lle chamamos selo de lacre dixital. --- A idea sinxela detrás do nome técnico Imaxina que existe unha máquina cunha soa rañura e unha soa pantalla. Pola rañura introduces un texto: unha palabra, unha frase, unha novela enteira. Na pantalla aparece, instantes despois, unha secuencia exactamente de sesenta e catro caracteres. Esa secuencia, ao lector profesional chamámoslle hash ou resumo criptográfico; ao lector xeral, podemos chamala por agora unha pegada matemática do texto, como a pegada dactilar o é dunha persoa. Se introduces o mesmo texto dúas veces, a máquina mostra a mesma pegada as dúas veces. Si introduces un texto lixeiramente distinto —unha soa coma desprazada, unha maiúscula que pasa a minúscula— a máquina mostra unha pegada completamente distinta da primeira. Non parecida: distinta. Esas dúas propiedades xuntas —o determinismo e a sensibilidade— son a idea sinxela. Todo lo demais do SHA-256 é a maquinaria que as fai cumprir ben. Convén dicir desde o principio o que a máquina non fai. Non cifra o texto. Non o oculta. No o garda. A máquina mira o texto, calcula a pegada, e esquécese do texto. A pegada non permite reconstruír o texto que a produciu; só permite, dado un texto candidato, comprobar se coincide ou non co orixinal. Por iso dicimos que é un resumo dunha soa dirección: vaise, non se volve. Un hash non é o mesmo que cifrar A confusión é frecuente e convén despexala: cifrar e hashear son operacións distintas. Cifrar consiste en transformar un texto de forma que só o posuidor da clave poida devolvelo á súa forma orixinal. Hashear consiste en producir unha pegada do texto da que o texto orixinal non se pode recuperar nunca, ni con clave nin sen ela. A primeira é reversible por deseño; a segunda, irreversible por deseño. A consecuencia práctica importa. Cando unha aplicación di «gardamos o teu contrasinal cifrado», hai alguén que ten a clave para descifralo — a aplicación mesma, en calquera caso. Cando unha aplicación di «gardamos o teu contrasinal hasheado», a aplicación mesma non pode ler o contrasinal orixinal aínda que quixese; só pode comprobar se a que ti escribes volve producir a mesma pegada. O segundo modelo, feito ben, é moi preferible ao primeiro para almacenar contrasinais. Máis adiante veremos por que «feito ben» esixe algo máis que SHA-256 a secas. As catro propiedades que fan útil un hash criptográfico Unha función hash que merece o adxectivo criptográfico cumpre catro propiedades: 1. Determinismo. A mesma entrada produce sempre a mesma pegada. 2. Efecto avalancha. Un cambio pequeno na entrada produce unha pegada completamente distinta, sen parecido visible coa anterior. 3. Resistencia á inversión. Dada unha pegada, non é viable computacionalmente atopar o texto que a produciu. 4. Resistencia a colisións. Non é viable computacionalmente atopar dous textos distintos que produzan a mesma pegada. «Non é viable computacionalmente» non significa «é matematicamente imposible». Significa que o custo en tempo, enerxía e diñeiro de conseguilo excede en ordes de magnitude a suma de toda a capacidade de cómputo razoablemente dispoñible. Para SHA-256, esa cota mídese en miles de billóns de anos incluso para os planteamentos máis optimistas con hardware especializado. O cal, a efectos prácticos do lector, é o mesmo que «non se pode». SHA-256, en concreto O nome dío todo. SHA son as siglas de Secure Hash Algorithm: algoritmo de hash seguro. O número 256 indica o tamaño da pegada en bits: douscentos cincuenta e seis bits, é dicir trinta e dous bytes, que mostrados en hexadecimal son os sesenta e catro caracteres que o lector recoñece xa. O estándar publicouno o NIST estadounidense, o organismo que normaliza este tipo de funcións, en 2001 como parte da familia SHA-2; a versión vixente do estándar, FIPS 180-4, é de 2015. As dimensións merecen un instante. Douscentos cincuenta e seis bits permiten dous elevado a douscentos cincuenta e seis valores distintos: un número con setenta e oito díxitos decimais, varios ordes de magnitude maior que o número estimado de átomos no universo observable. Cada texto do mundo —cada libro, cada correo electrónico, cada mensaxe— cae sobre un deses valores. A probabilidade de que dous textos distintos coincidan por azar é, a efectos prácticos, indistinguible de cero. Como se ve en código Por que lle chamamos selo de lacre Na correspondencia europea dos séculos quince ao dezanove, o lacre pechaba a carta. Unha gota de cera derretida, un selo presionado encima, e a carta quedaba marcada de forma irrepetible. Non protexía o contido do fisgón decidido —o papel podíase ler ao trasluz, o lacre podíase romper— pero si o evidenciaba. Calquera alteración do peche era visible ao destinatario antes incluso de abrir o papel. O lacre non impedía o dano; declarábao. O SHA-256 do corpo de cada Cuaderno cumpre a mesma función na súa versión dixital. Se unha soa palabra do artigo cambiara entre o momento en que se publicou e o momento en que ti o les, o selo hexadecimal ao pé do texto xa non coincidiría co SHA-256 do texto que tes diante. Calquera lector con cinco liñas de código podería comprobalo. A publicación non pode reescribir a súa historia sen que o selo a delate. No protexe contra o dano; faio verificable. O que un hash non é Catro usos pídenselle ás veces a SHA-256 que non lle corresponden: 1. Cifrar. Un hash resume; no oculta. Se queres que o texto non se poida ler, necesitas cifralo, non hashearlo. 2. Autenticar ao autor. Un hash no di quen escribiu o texto, só que texto se hasheou. Para asociar autoría fai falta unha firma criptográfica encima do hash, non o hash a secas. 3. Almacenar contrasinais. Aquí hai unha trampa que convén entender. SHA-256 está deseñado para ser moi rápido —o cal é bo para moitas cousas, pero malo para esta. Un atacante con hardware especializado pode probar miles de millóns de contrasinais por segundo contra un hash SHA-256 ata dar co teu. Para gardar contrasinais hai que usar funcións de derivación de clave deliberadamente lentas como Argon2, scrypt o bcrypt, combinadas cunha sal (un dato aleatorio único por usuario, que evita que dúas persoas co mesmo contrasinal teñan o mesmo hash). 4. Ler o hash como identificador do autor. No o é. Un hash identifica o contido. Se dúas persoas hashean a palabra ola con SHA-256, as dúas obteñen o mesmo resumo — e iso é a propiedade central, non un defecto: se foran resumos distintos, non poderiamos comprobar coincidencia entre o publicado e o recibido. Onde aparece SHA-256 no teu día a día Aínda que non o vexas, SHA-256 sostén boa parte do que usas a diario en internet. A cadea de bloques de Bitcoin constrúese encadeando SHA-256 de cada bloque ao seguinte; alterar un bloque pasado obriga a recalcular toda a cadea posterior. Git, o sistema co que se versiona o código de medio mundo, identifica cada confirmación polo SHA-256 (en versións recentes) ou polo seu predecesor SHA-1 (en versións máis antigas) do seu contido completo. Os certificados HTTPS que verifican a identidade dun sitio web cando entras levan unha pegada SHA-256 asociada. As descargas de software acompáñanse a miúdo dun SHA-256 publicado polo desenvolvedor para que verifiques que o arquivo non se alterou polo camiño. E, como dixemos, ao pé de cada Cuaderno Lacre. Para o lector profesional Catro recordatorios operativos para quen decide ou audita sistemas: 1. Hash non é cifrado. Se un provedor confunde os dous termos na súa documentación técnica, convén preguntar que quere dicir exactamente. 2. Para almacenar contrasinais nunca se debe usar SHA-256 a secas. SHA-256 é demasiado rápido para esta tarefa (ver punto 3 de O que un hash non é). O estándar actual é Argon2id: lento por deseño, configurable segundo a capacidade do servidor, combinado cunha sal aleatoria distinta por usuario. 3. Para integridade de documentos —contratos, expedientes, arquivos— SHA-256 segue a ser o estándar de referencia. É o que usan os seladores temporais cualificados na UE. 4. Para conservación a longo prazo (decenios) convén calcular e arquivar tamén un SHA-3 ou un SHA-512 xunto ao SHA-256; a prudencia criptográfica recomenda non apoiarse nunha soa función durante arquivos centenarios. Imaxina que montaches o circuíto de dominó máis elaborado do mundo: miles de fichas, decenas de bifurcacións, pontes mecánicas e ramplas que cruzan toda a habitación, coidadosamente colocadas peza a peza. Se dás un toque á primeira ficha, a cadea cae nunha secuencia precisa e repetible. Mesmo montaxe, mesmo toque inicial → idéntico patrón final de fichas caídas, unha e outra vez. Aquí está o interesante: move unha soa ficha medio centímetro a un lado antes de empezar e volve tocar. Unha rampla que debía activarse queda inerte, unha ponte non cae, unha bifurcación distinta dispárase. O patrón final de fichas no chan é completamente irrecoñecible comparado co primeiro. SHA-256 é matematicamente este circuíto. O texto que escribes é a posición inicial das fichas. O algoritmo é o toque que libera a fervenza. E o resultado final —o que chamamos hash— é a foto fixa do chan cando se detivo todo. Cambia unha soa coma do texto orixinal e a foto será radicalmente distinta. Así de simple, e así de drástico. --- Se volves ao pé deste artigo, verás un selo hexadecimal de sesenta e catro caracteres. É o SHA-256 do texto que acabas de ler, neste idioma. Se traducíramos o artigo, o selo sería outro; se cambiara unha palabra da versión española, o selo español cambiaría. O selo non protexe o contido —para iso están outras ferramentas— senón que o identifica univocamente. E iso, por modesto que soe, abonda para que ningún paso da cadea editorial poida alterar o dito sen que se note. O demais —cifrar, firmar, identificar— constrúese encima desta idea sinxela. Fontes e lectura adicional - NIST — FIPS PUB 180-4: Secure Hash Standard (SHS), agosto de 2015. Especificación oficial da familia SHA-2, incluíndo SHA-256. - RFC 6234 — US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF), IETF, maio de 2011. Versión normativa para implementadores. - Ferguson, N.; Schneier, B.; Kohno, T. — Cryptography Engineering: Design Principles and Practical Applications (Wiley, 2010). Capítulos 5 e 6 cobren funcións hash e os seus usos lexítimos e ilexítimos. - Nakamoto, S. — Bitcoin: A Peer-to-Peer Electronic Cash System (2008). Exemplo práctico do uso de SHA-256 para encadear bloques nunha estrutura inmutable por construción. - Regulamento (UE) 910/2014 (eIDAS) — marco dos seladores temporais cualificados. SHA-256 é a función de referencia para as firmas e selos electrónicos cualificados emitidos na UE. - Implementación de referencia en Zig: std.crypto.hash.sha2.Sha256 no repositorio oficial da linguaxe (github.com/ziglang/zig → lib/std/crypto/sha2.zig). É a versión optimizada e auditada que de feito usa Solo2. Útil para contrastar coa implementación didáctica do apéndice. --- Cuadernos Lacre · Unha publicación de Menzuri Gestión S.L. · escrita por R.Eugenio · editada polo equipo de Solo2. https://solo2.net/gl/cadernos/