Un tecnicisme informàtic que molts no coneixen...
Una funció criptogràfica hash - usualment coneguda com "hash" - és un algoritme matemàtic que transforma qualsevol bloc arbitrari de dades en una nova sèrie de caràcters amb una longitud fixa.
Independentment de la longitud de les dades d'entrada, el valor de resum de sortida tindrà sempre la mateixa longitud, la de 40 caràcters.
SHA-1 és una de les funcions hash més utilitzades en la informàtica, juntament amb MD 5 i SHA-2.
A qualsevol generador en línia de hash, podràs introduir el teu nom i veure el hash que es genera. Fent veure que comets l'error d'equivocar-te amb una lletra, podràs comprovar que el nou hash canvia completament tots els seus 40 caràcters.
Com podràs veure, les dues sèries són molt diferents, tot i que la diferència entre el nom real i el nom erroni, rau en una sola lletra. Anant una mica més lluny, si canvies la majúscula per minúscula, el generador de SHA-1 torna de nou amb un hash completament diferent.
Veuràs que tots els hashs tenen 40 caràcters de longitud, la qual cosa no és sorprenent donat que, en ambdós casos, l'entrada és relativament curta. No obstant això, si s'introdueixen paràgrafs més extensos, el generador de hash llançarà una nova numeració, però mantenint els 40 caràcters.
Si es volgués, es podria resumir les obres completes de William Shakespeare amb SHA-1 i el hash resultant seguiria sent de 40 caràcters. D'altra banda, no existeixen dues entrades que produeixin el mateix hash de sortida.
Per a què s'utilitzen els valors hash?
Bona pregunta amb una resposta àmplia, ja que els hashs criptogràfics s'utilitzen per a un munt de coses.
Per a nosaltres, la forma més comuna del hash té a veure amb les contrasenyes. Per exemple, si mai oblides la contrasenya d'algun servei en línia, probablement hagis de resetejar-la. Quan es reestableix una contrasenya, en general no reps una clau en text pla. Això és degut a que els servei en línia no emmagatzemen les contrasenyes en si, sinó que les emmagatzemen sota el valor de resum de la contrasenya. De fet, el servei no té ni idea de quina és la contrasenya real.
Perquè quedi clar, si reps una contrasenya en text pla, vol dir que el servei en línia que estàs utilitzant no està fent un hashing de la contrasenya.
Si vols, pots provar això per tu mateix en un generador invers de hash en línia. Si generes un valor hash d'una contrasenya feble (com ara "contrasenya" o "123456") i després ingresses aquesta entrada en un generador invers de hash, el més probable és que el generador invers reconegui aquest valor hash per qualsevol d'aquestes dues contrasenyes.
La integritat del hash de sortida depèn totalment de les dades d'entrada que, en definitiva, podria ser qualsevol cosa.
Segons un informe publicat al març a la revista TechCrunch, el popular servei d'emmagatzematge de dades en el núvol, Dropbox, va bloquejar a un dels seus usuaris perquè compartia contingut protegit per la llei nord-americana de drets d'autor (Digital Millennium Copyright Act). Aquest usuari després va escriure al seu compte de Twitter que li havien bloquejat el seu compte de Dropbox per haver compartit certs continguts; poc a poc es va començar a parlar de la notícia a la xarxa social i molta gent va començar a queixar-se de que Dropbox accedia als comptes dels usuaris, tot i que en les seves polítiques de privacitat, declarava el contrari.
Dropbox, clarament, no va accedir als continguts d'aquest usuari. Com es llegeix en l'article de TechCrunch, probablement el que va passar va ser això: els qui tenien els drets d'autor sobre l'arxiu compartit (probablement la versió digital d'una cançó o d'una pel·lícula) van crear una funció hash. Després van afegir aquest hash de 40 caràcters en una mena de "llista negra" de materials protegits. I, quan l'usuari va intentar compartir l'arxiu, el sistema d'anàlisi de Dropbox va detectar automàticament el hash que estava inclòs en aquest llistat i va bloquejar l'intent de compartir el contingut.
Llavors, es poden crear hash per contrasenyes i arxius multimèdia, però, per a quines altres coses serveixen les funcions criptogràfiques hash?
Com s'ha dit abans, les funcions hash serveixen per a moltes més coses. De tota manera, hi ha un ús dels hash que és molt interessant: les empreses d'antivirus com Kaspersky Lab, utilitzen les funcions criptogràfiques hash per detectar malware.
Tal i com fan les companyies discogràfiques i cinematogràfiques que creen llistes negres de hash per protegir les seves dades, també hi ha llistes de hash de malware i moltes d'elles són d'accés públic. Aquestes llistes, o signatures de malware (com també se les coneix), estan conformades per valors hash de les peces de malware o d'algunes parts petites d'aquestes peces. D'una banda, si un usuari detecta una arxiu sospitós, pot consultar a les bases de dades públiques i, d'aquesta manera, sabrà si es tracta o no d'un arxiu maliciós. De l'altra, els productes antivirus detecten i bloquegen els malware comparant els hash amb les seves pròpies bases de dades i amb les públiques.
D'altra banda, les funcions criptogràfiques hash s'utilitzen també per assegurar la "integritat dels missatges". En poques paraules, per estar segurs que algunes comunicacions o arxius no han estat alterats d'alguna manera, es poden examinar els hash creats abans i després de la transmissió de les dades. Si els dos hash són idèntics, vol dir que no hi ha hagut cap alteració.
Font parcial: Kaspersky