El hash criptogràfic ha estat una part integral de l’espectre de ciberseguretat. De fet, s’utilitza àmpliament en diferents tecnologies, inclosos els protocols Bitcoin i altres criptomonedes.
En aquest article, passarem a través de hash en la criptomoneda on coneixerem els hash criptogràfics, els seus exemples, la història, etc..
L’article s’adreça a aquells que vulguin conèixer una visió més tècnica del tema. Tanmateix, no tingueu por si no sou tècnics, ja que intentarem simplificar el concepte de la millor manera possible.
La criptografia sempre ha estat el nucli de la informàtica. Sense ella, mai no podrem tenir una comunicació segura ni compartir informació. Es defineix millor com el mètode per protegir la informació.
Què és Hashing criptogràfic?
En criptografia, el hash és un mètode que s’utilitza per convertir les dades en una cadena de text única. Les dades es transformen en un mètode molt eficient on les dades es comparen en qüestió de segons. A més, no hi ha limitacions en el tipus de dades ni en la seva mida; el hash funciona en totes.
Llavors, què fa que el hash sigui tan popular i únic? És perquè no es pot revertir!
Sí, és una funció unidireccional (funció de hash criptogràfic) i està dissenyada per funcionar només així.
En una funció unidireccional, les dades, un cop posades a l’algorisme de resum, generen una cadena única. Tanmateix, la cadena única no es pot utilitzar per desxifrar les dades originals posant-les de nou a la funció de resum. Aquest tipus d’utilitat i característica fan que el resum criptogràfic sigui tan beneficiós per protegir la informació i les dades.
A més, fes un cop d’ull
- Com es construeix una cadena de blocs a Python
- Guia per a principiants: ús de la criptografia en criptomoneda
Hi ha una característica més que s’aplica al mètode hash. Qualsevol tros de dades donarà la mateixa sortida de hash.
Aquestes funcions el fan molt útil en criptomonedes com el bitcoin.
Com funciona Hashing?
Per entendre millor el hash, també hem d’aprendre com funciona. Hashing és una operació matemàtica que requereix menys potència computacional. No obstant això, la potència computacional necessària per invertir és costosa i, per tant, la generació actual d’ordinadors no la pot fer.
No obstant això, els ordinadors quàntics poden invertir el hash dels ordinadors. Però, ja hi ha mètodes de resum que són resistents quànticament.
A efectes de resum, hi ha molts algorismes utilitzats. Això inclou el següent.
- Missatge directe (MD5)
- Funció de hash segur (SHA1)
- Funció de hash segur (SHA-256)
No totes les funcions de resum són 100% segures. Per exemple, SHA1 és fàcil de trencar i, per tant, no es recomana per a un ús pràctic. Una de les funcions de resum més comunes que s’utilitzen inclou MD5 i SHA-256.
MD5 s’utilitza principalment per verificar els fitxers descarregats. Per tant, si descarregueu un fitxer, podeu calcular-ne la suma de comprovació mitjançant la calculadora de suma de comprovació. Si la cadena de hash coincideix amb la cadena del que ha proporcionat el descarregador, vol dir que la descàrrega es fa correctament sense cap corrupció del fitxer. En resum, verifica la integritat del fitxer.
On s’utilitza principalment Hashing?
El hash s’utilitza principalment per a contrasenyes. Prenem un exemple per entendre-ho.
En crear un compte de correu electrònic, el vostre proveïdor de correu electrònic us demanarà l’adreça de correu electrònic i la contrasenya. És evident que no desen el correu electrònic i la contrasenya en un text senzill. Si ho fan, comprometen la privadesa i la seguretat de la vostra informació. Per assegurar-se que és difícil desxifrar aquesta informació, utilitzen la funció hash de la vostra contrasenya perquè fins i tot qualsevol persona que treballi internament al proveïdor de correu electrònic no la pugui desxifrar..
Per tant, si proveu d’iniciar la sessió la propera vegada, la funció hash la desxifra i coincideix amb la desada i, per tant, us permetrà accedir al vostre correu electrònic.
Altres usos inclouen la generació i verificació de signatures i les comprovacions d’integritat de fitxers.
Per descomptat, hi ha altres aplicacions de resum. Un altre ús més popular del hash són les criptomonedes, que analitzem a continuació.
Com s’utilitza Hashing a Cryptocurrencies
El hash s’utilitza principalment en criptomonedes amb finalitats mineres. Per tant, a Bitcoin, la mineria és un procés de verificació de les funcions de resum SHA-256. Això vol dir que el hash es pot utilitzar per escriure noves transaccions, referenciar-les al bloc anterior i marcar-les temporalment
Es diu que la xarxa arriba a un consens quan s’afegeix un nou bloc a la cadena de blocs. En fer-ho, valida les transaccions contingudes al bloc. A més, l’addició fa impossible que ningú la reverteixi. Tot això és possible a causa del hash i per això s’utilitza per mantenir la integritat de la cadena de blocs.
Bitcoin utilitza el mètode de consens de prova de treball que, a canvi, utilitza la funció de hash unidireccional SHA-256.
Exemple de funció de hash
Ara, donem un cop d’ull a un exemple de funció de hash criptogràfic.
Per fer-ho més fàcil per a nosaltres i per a vosaltres, utilitzarem les eines SHA-256 disponibles en línia.
Aquí teniu l’enllaç: SHA256 en línia
Ara, si escriviu 101Blockchains com a entrada, donarà la següent sortida.
Entrada: 101Blockchains.com
Sortida: fbffd63a60374a31aa9811cbc80b577e23925a5874e86a17f712bab874f33ac9
Utilització de la funció Hash SHA256
Ara, si poseu un simple “Hola món” com a entrada, donarà la següent sortida.
Entrada: Hola món
Sortida: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
Entre les dues sortides, veureu que tots dos valors de sortida tenen la mateixa longitud, és a dir, 256 bits, és a dir, 64 caràcters de longitud.
Ara, introduïm 101blockchain a l’entrada. Tingueu en compte que hem eliminat les “s” de 101Blockchains que es van utilitzar per generar el primer hash.
Entrada: 101 Cadena de blocs
Sortida: c4d67db72f3d18eaca2e8e8498271de353d25874e4448be4887f2563576c6fe8
Si el compareu amb el nostre primer resultat hash, veureu una gran diferència fins i tot quan només eliminem una lletra de l’entrada.
Llavors, què hem après de l’exemple? Resumim a continuació.
- Totes les sortides tenen la mateixa longitud
- Els petits canvis en l’entrada donen lloc a sortides completament diferents
- No és possible revertir les sortides en entrades.
Propietats de la funció Hash criptogràfica
Per entendre millor el hash criptogràfic o el hash en general, repassem les propietats de la funció de hash criptogràfic.
Determinista
Se sap que les funcions de resum criptogràfic són deterministes. Això significa que per a una entrada determinada, la sortida serà la mateixa. En termes més simples, si poseu la mateixa entrada per la funció hash per centèsima vegada, la sortida serà la mateixa en tots els casos.
La propietat determinista és important ja que permet el concepte de funció unidireccional. Si no funcionés així, seria impossible utilitzar-lo per obtenir informació de resum. A més, una sortida aleatòria per a la mateixa entrada pot fer inútil tot el procés.
Resistent a la imatge prèvia
La funció de hash criptogràfic és resistent a la pre-imatge, cosa que significa que el valor de hash un cop generat no revela res sobre l’entrada.
Aquesta és una característica important, ja que dóna el molt important.
Computacionalment eficient
Les funcions Hash són computacionalment eficients. Això significa que, independentment de la longitud i complexitat de l’entrada, generarà la sortida de hash ràpidament. L’eficiència és benvinguda per als serveis que vulguin utilitzar una funció hash per emmagatzemar informació confidencial. Tanmateix, només és eficient computacionalment d’una manera, és a dir, d’entrada a sortida. Com que no és reversible, no és possible que cap ordinador l’enginyi inversament.
Però, si voleu parlar de nombres, pot passar molts anys de computació moderna per endevinar l’entrada d’un valor de hash determinat. A més, amb els equips moderns cada dia més potents, les funcions de hash són cada vegada més eficients que mai.
No es pot invertir
Les funcions de hash no es poden invertir. Això vol dir que és segur. Com heu de saber, les funcions de criptografia hash es creen amb una premissa de funcions no reversibles. Les equacions matemàtiques i el procés que s’utilitza per crear la sortida es simplifiquen i no es poden revertir. En termes tècnics, la funció hash no admet l’operació inversa.
Resistent a les col·lisions
La resistència a les col·lisions és la propietat final que analitzarem. Aquesta propietat garanteix que no hi hagi dues entrades diferents que produeixin la mateixa sortida.
Com heu de saber a hores d’ara, que l’entrada pot ser de qualsevol longitud. Segons aquesta definició, l’entrada pot ser de nombres infinits. Ara, la sortida, que té una longitud fixa, ha de ser diferent cada vegada. La limitació de la longitud fixa també significa que les sortides són de nombres finits, tot i que el nombre finit té un enorme valor. Això suposa un repte matemàtic per separar les sortides de cada entrada que hi ha.
La bona notícia és que la majoria de les funcions de hash populars són resistents a les col·lisions.
Classes de hash populars: llista d’algoritmes de hash
Això ens condueix a la nostra següent secció, on discutim les classes de hash populars. Enumerarem tres classes de hash que són força populars en l’àmbit de la criptografia.
- Resum de missatges (MD)
- Funció de hash segur (SHF)
- RIPE Message Direct (RIPEMD)
Anem a revisar-los un per un.
Resum de missatges (MD)
Message Digest és una família de funcions de hash que s’utilitzen al llarg de la història d’Internet.
La família consta de funcions de hash com MD2, MD4, MD6 i MD5 més populars. Totes les funcions de resum MD són funcions de resum de 128 bits, cosa que significa que les mides de resum són de 128 bits.
Com hem comentat anteriorment, els proveïdors de programari utilitzen les funcions de resum hash MD5 per comprovar la integritat dels fitxers descarregats pels usuaris a través dels servidors de fitxers. Perquè funcioni, el proveïdor dóna accés al descarregador a la suma de comprovació MD5 dels fitxers. Per comprovar la integritat del fitxer, s’utilitza una suma de comprovació MD5 que calcula la suma de comprovació i, a continuació, es comprova amb el valor de hash proporcionat. Si el valor és diferent de la comprovació d’integritat d’aquest fitxer, ha fallat i l’usuari ha de descarregar-ne la totalitat o una part..
MD5 no és tan segur com altres funcions de resum. El 2004 es va fer un atac analític a la funció de hash que es va realitzar en només una hora. Es va fer mitjançant un clúster d’ordinadors. Això va fer que MD no fos tan útil per protegir la informació i, per tant, s’utilitza per a tasques com la verificació de la integritat del fitxer.
Si esteu interessats en obtenir més informació sobre MD5, consulteu la pàgina Wiki de MD5 – MD5.
Funció de hash segur (SHA)
Les funcions Hash segures són una altra família de funcions de hash força populars. Va ser desenvolupat i publicat per l’Institut Nacional d’Estàndards i Tecnologia (NIST). Van llançar quatre versions de SHA incloent SHA-0, SHA-1, SHA-2 i SHA-3.
Com hauríeu d’haver endevinat, les versions posteriors esmenen alguns problemes o debilitats amb les versions anteriors de SHA. Per exemple, SHA-1 es va alliberar després de trobar la debilitat de SHA-0. SHA-1 es va llançar el 1995.
SHA-1 va fer el seu propi nom un cop va ser llançat. Va ser utilitzat per diverses aplicacions en aquell moment, inclosa la capa de sòcol segur (SSL).
Tanmateix, amb el temps, els explotadors també van trobar sobre col·lisions SHA-1 que el van fer inútil. NIST va crear la seva família SHA-2 de funcions de hash segures que utilitzaven quatre variants SHA, incloses SHA-256, SHA-224, SHA-512 i SHA-384. En aquestes quatre variants, dues eren el nucli inclòs SHA-256 i SHA-512. La diferència entre ells és que SHA-512 feia servir paraules de 64 bytes mentre que el SHA-256 feia servir només paraules de 32 bytes.
La família de funcions de hash SHA-2 encara és àmpliament utilitzada. No obstant això, també hi va haver SHA-3 que va ser ideat i llançat per dissenyadors que no eren NSA durant una competició pública el 2012. Anteriorment es coneixia com Keccak. Els avantatges de Keccak inclouen una millor resistència als atacs i un rendiment eficient.
RIPE Message Direct (RIPEMD)
RIPE Message Direct (RIPEMD) és una família de funcions de hash llançades el 1992. A més, RIPE significa RACE Integrity Primitives Evaluations.
Està dissenyat i gestionat per la comunitat de recerca oberta. Entre la família, hi ha cinc funcions, incloses RIPEMD, RIPEMD-160, RIPEMD-128, RIPEMD-320 i RIPEMD-256. Tot i això, la funció més utilitzada és RIPEMD-160.
El disseny de RIPEMD es basa en Message Direct.
Diferència entre hash, xifrat i salat
En aquesta secció, examinarem breument la diferència entre hash, xifratge i salat.
Comencem amb el xifratge.
El xifratge és el procés de barrejar la informació original mitjançant la clau pública i desbloquejar-la mitjançant una clau privada. És una funció bidireccional.
El Hashing, d’altra banda, és una funció unidireccional que s’utilitza per barrejar informació amb fins de verificació.
L’últim terme és “Salting”.
La salaó és similar al hash, però aquí s’afegeix un valor únic a la contrasenya per obtenir un valor de hash diferent. Aquí el valor de la sal ha de ser únic i romandre amagat.
Conclusió
Això ens condueix al final del nostre Hashing in Cryptography. Vam intentar comprendre el hash in-out-out aprenent primer sobre allò que pot oferir i després aprenent ràpidament com funciona, els seus tipus, etc.!
Com podeu veure, hi ha molts casos d’ús per al hash, incloses les criptomonedes, la protecció de contrasenya, la verificació de signatures, etc. Tot i que el hash és únic a la seva manera, la seva eficàcia en la protecció de la informació disminueix cada dia que passa, gràcies als potents ordinadors de tot el món.
Els investigadors també treballen per mantenir l’status quo alliberant una funció de resum més potent que és resistent a quàntics i que pot suportar la progressió de la potència de càlcul a tot el món..
Què en penseu, doncs, del hash? Comenta a continuació i fes-nos-ho saber.