Criptografia RSA

La criptografia s’ha utilitzat en civilitzacions en diferents formats durant milers d’anys. Des dels antics egipcis fins a la Internet moderna, l’ús de la criptografia per xifrar i desxifrar missatges és una eina vital en la comunicació.

La criptografia RSA (l’algorisme RSA per ser exactes) és l’algorisme de xifratge asimètric més omnipresent del món. Fet possible per diversos avenços criptogràfics i matemàtics, qualsevol persona que faci servir Internet utilitza la criptografia RSA d’una forma o altra.

Criptografia RSA

La majoria de criptomonedes utilitzen un tipus de xifratge asimètric similar al RSA, conegut com a criptografia de corba el·líptica. Tot i que diferents, tots dos es basen en conceptes similars i la comprensió de RSA és important per afavorir la comprensió de la criptografia emprada a les xarxes de criptomonedes..

Fons criptogràfic i criptografia simètrica vs asimètrica

Fins als anys setanta, la criptografia s’havia basat principalment en l’ús de claus simètriques. En algoritmes de claus simètriques, dos usuaris que desitgen comunicar un missatge entre ells utilitzen les mateixes claus criptogràfiques tant per al xifratge del text clar com per al desxifratge del text xifrat. Les claus representen un secret compartit entre les dues parts i es poden utilitzar com a forma de comunicació privada. No obstant això, hi ha alguns problemes inherents amb aquest disseny que comporten alguns greus inconvenients en el seu ús.

Per exemple, les dues parts han de conèixer la clau secreta per xifrar i desxifrar el missatge. Fora de la reunió en persona per intercanviar aquesta informació, hi ha una quantitat considerable de despeses de comunicació necessàries per aconseguir-ho de manera privada a través de mitjans no segurs. Els tercers que veuen aquests canals poden obtenir la clau secreta i, per tant, el mètode de xifrat es veu compromès. A més, el concepte de xifratge de clau simètrica no és escalable. Si voleu enviar missatges xifrats a diverses persones, haureu de memoritzar una clau secreta per a cadascuna d’aquestes línies de comunicació. Viouslybviament, això es converteix ràpidament en inconvenient i, clarament, no és el millor model per utilitzar a les xarxes de criptomonedes on s’intercanvia valor.

La solució a això va venir en forma del que es coneix com a xifratge asimètric, o més popularment anomenat criptografia de clau pública. El xifratge asimètric utilitza dues claus, una clau pública i una clau privada. En la forma més bàsica d’aquest model, un usuari pot publicar una clau pública, amb la qual qualsevol altre usuari pot enviar un missatge xifrat a aquesta persona i només la persona que ha publicat la clau pública i que té la clau privada corresponent pot desxifrar i veure aquest missatge. L’ús d’una tecla anul·la l’ús de l’altra i no cal intercanviar claus entre les parts que vulguin comunicar-se.

El model de xifratge asimètric va ser possible gràcies a dos brillants principis que van sorgir com a resultat d’un avanç del matemàtic britànic James Ellis el 1970. Ellis va descriure una idea mitjançant la qual el xifratge i el desxifrat són operacions inverses entre si basades en 2 claus diferents..

James Ellis

James Ellis, imatge de El Telègraf.

El concepte es representa generalment mitjançant un cadenat i una clau, amb el cadenat que representa la clau pública i la clau que representa la clau privada. Per fer un ús pràctic d’aquesta teoria, van evolucionar dos principis.

La funció Trapdoor

Una funció de trampa és un concepte molt important a la criptografia on és trivial anar d’un estat a un altre, però calcular en direcció contrària tornant a l’estat original es fa inviable sense informació especial, coneguda com la “trampa”..

Es diu la funció de trampa més coneguda actualment, que és la base de la criptografia RSA Factorització primera. Essencialment, la factorització primera (també coneguda com Factorització de nombres enters) és el concepte de la teoria de nombres que els enters compostos es poden descompondre en nombres enters més petits. Tots els nombres compostos (nombres primers) que es desglossen al més bàsic es componen de nombres primers. Aquest procés es coneix com a factorització principal i té greus implicacions quan s’aplica a la criptografia.

primera descomposició

Factorització principal, imatge utilitzada des de Viquipèdia

Bàsicament, la factorització primera de nombres primers extremadament grans es fa inviable per calcular a causa de la gran quantitat d’assaigs i errors necessaris per factoritzar amb èxit el nombre als seus components més bàsics. Actualment, no existeix cap algorisme de factorització eficient per fer-ho.

RSA i com s’utilitza la factorització principal es descriu en una secció posterior, però primer hem d’entendre el Diffie-Hellman Key Exchange.

L’intercanvi de claus Diffie-Hellman

L’intercanvi de claus Diffie-Hellman és un dels primers protocols de criptografia de claus públiques i permet fonamentalment intercanviar claus criptogràfiques en un mitjà públic de forma segura. Per simplificar, intentar conceptualitzar l’intercanvi de claus de Diffie-Hellman i la següent secció sobre com funciona l’algorisme RSA és molt més trivial amb conceptes abstractes en comparació amb les matemàtiques pures, de manera que aplicarem les matemàtiques només quan sigui necessari..

L’exemple més comú utilitzat per conceptualitzar l’intercanvi de claus Diffie-Hellman es coneix com a Secret Color Exchange.

Intercanvi de claus Diffie-Helman

Diffie-Helman Key Exchange, imatge utilitzada des de Viquipèdia

La imatge superior representa una línia de comunicació entre Alice i Bob a través d’un canal públic on Eve pot escoltar tot el que es comunica públicament entre Alice i Bob. Per tant, com poden Alice i Bob comunicar un missatge privat mitjançant xifratge asimètric sense intercanviar explícitament aquesta informació pel mitjà públic?

Intercanvien informació secreta entre si sense compartir-la realment. El procés funciona de la següent manera:

Pas 1

  • Alice i Bob coincideixen que el groc és la pintura habitual. Aquesta informació s’emet pel canal públic perquè Eve també ho sàpiga.
  • El groc representa la clau pública.
  • Alice decideix en secret que també utilitzarà el blau juntament amb el groc i Bob decidirà secretament que utilitzarà el vermell amb el groc..
  • El Blau utilitzat per Alice i el Vermell utilitzat per Bob representen les seves claus secretes.

Pas 2

  • A continuació, tant Alice com Bob es barregen amb els seus colors secrets amb el groc per crear un color compost.
  • El mix d’Alice crea Green i el de Bob crea Orange.
  • Ara, tant Alice com Bob s’envien mútuament els seus colors compostos.
  • Eve també rep aquests colors però s’enfronta a un problema, aquests colors compostos representen una funció de trampa.
  • És fàcil combinar dos colors per obtenir un tercer color, però és inviable revertir-ho. És molt difícil determinar quins colors es van utilitzar per crear el tercer color a partir de tenir només el tercer color i el groc original.

Pas 3

  • Aleshores, Alice i Bob barregen els seus colors secrets amb els colors compostos rebuts, el que resulta en el següent.
  • Alice barreja el blau amb el composite Orange de Bob.
  • Bob barreja el vermell amb el composite Green d’Alice.
  • Les dues mescles donen lloc a Brown.

Aquest és el secret de l’intercanvi de claus Diffie-Hellman. Tot i que tant Alice com Bob van acabar amb Brown, mai van intercanviar aquest color i Eve es queda sense la informació necessària dels colors secrets per poder computar el missatge secret (Brown).

L’exemple anterior és una visualització molt senzilla de com funciona l’intercanvi. Amb les matemàtiques aplicades, es pot aconseguir seguretat i integritat assegurades dels missatges mitjançant la criptografia RSA utilitzant la factorització principal com a trampa.

Com funciona l’algorisme RSA?

L’algorisme RSA funciona mitjançant la trampa de factorització principal i l’intercanvi de claus Diffie-Hellman per aconseguir un xifratge asimètric. Fonamentalment, la criptografia RSA es basa en la dificultat de la factorització primera com a mètode de seguretat. Utilitzant un exemple molt simplificat amb matemàtiques limitades descrites, l’algorisme RSA conté 4 passos.

  1. Generació de claus: durant aquest pas, un usuari pot emprar un generador de números aleatoris o simplement escollir 2 nombres primers molt grans (anomenats p i q). Aquests números s’han de mantenir en secret. Calculeu n = pq on “n” és el mòdul tant de claus públiques com privades i la seva longitud es coneix com a longitud de clau. Feu pública la “n”. Per a mides de claus iguals o superiors a 1024 bits, no hi ha cap mètode eficient per resoldre aquest algorisme (factoritzant el nombre molt gran “n”) de manera eficient. Fins i tot el superordinador més gran del món trigaria milers d’anys a resoldre-ho. Això es coneix com el problema RSA i, si es soluciona, comprometria tots els criptosistemes basats en RSA.
  2. Distribució de claus: Bob vol enviar informació secreta a Alice perquè es produeixin els passos següents.
  1. Bob ha de conèixer la clau pública d’Alice per xifrar el missatge.
  2. Alice ha de conèixer la seva clau privada per desxifrar el missatge.
  3. Perquè Bob pugui enviar el seu missatge xifrat, Alice li envia la clau pública a Bob.
  4. Alice mai no distribueix la seva clau privada.
  • Xifratge: després que Bob obtingui la clau pública d’Alicia, pot enviar un missatge (M) a Alice. En primer lloc, converteix (M) (en aquest moment un missatge de text clar) en un enter (m) mitjançant un esquema de farciment acordat. A continuació, calcula el text xifrat amb la clau pública d’Alice i transmet (c) a Alice.
  • Desxifratge: Alice pot recuperar el missatge (m) del text xifrat (c) mitjançant la seva clau privada. A continuació, pot recuperar el missatge original (M) invertint l’esquema de farciment de (m).
  • Es pot trobar una explicació més profunda de les operacions matemàtiques utilitzades en RSA aquí, però està fora de l’abast d’aquest article.

    A més, el xifratge RSA permet signar missatges de manera digital, que és primordial per a les criptomonedes i que és un component clau del model de transaccions UTXO de Bitcoin. Alice pot signar digitalment un missatge a Bob per verificar que l’ha enviat (validant que s’ha utilitzat la seva clau privada) mitjançant la producció d’un valor hash del missatge i l’adjunt al missatge. Aquest valor el pot verificar Bob, que utilitza el mateix algorisme de hash juntament amb la clau pública d’Alicia i compara el valor de hash resultant amb el valor de hash real del missatge.

    Conclusió

    El xifratge RSA és el mètode de xifratge asimètric més utilitzat al món a causa de la seva capacitat per proporcionar un alt nivell de xifratge sense que existeixi encara cap algorisme conegut per poder solucionar-lo. Basat en alguns avenços brillants en criptografia i matemàtiques, incloent l’intercanvi de claus Diffie-Hellman i la funció de trampa, el xifratge RSA s’ha convertit en un element primordial per garantir la comunicació a tot el món..

    Mike Owergreen Administrator
    Sorry! The Author has not filled his profile.
    follow me