Menu

Entenent el RSA

January 3, 2007 - code
Per fi he entés com funciona el xifrat RSA, i com tinc una memòria de peix, he decidit fer un post explicant-ho, per poder-m’ho recordar a mi mateix quan no m’enrecordi.

El RSA és un mètode per xifrar un missatge de un punt a un altre de manera segura, és a dir, que sol ells 2 puguin veure el missatge com a tal, i que per molt que ens espiin, no puguin dexifrar el missatge.

Partim de 2 usuaris, A i B. Cadascun te dues claus, una pública i una privada:

  • KpuA -> Clau pública de A
  • KprA -> Clau privada de A
  • KpuB -> Clau pública de B
  • KprB -> Clau privada de B

La única condició que s’ha de complir entre les claus de un usuari és que un missatge xifrat amb la clau privada es pot desencriptar amb la clau pública, i viceversa: KpuA[M] = KprA[M]

Les claus privades les te l’usuari i no les dona a ningú mes, però les públiques es distribueixen amb el missatge xifrat.

Per tant, per enviar un missatge (M) de A a B, el que fariem seria xifrar el missatge dues vegades, primer el missatge es xifra amb la clau privada de A i després amb la clau pública de B (que hem obtingut prèviament), de manera que tenim:
De A a B enviem -> KpuB[ KprA[M] ]

Quan aquest missatge arriba a B, primer desencripta el missatge de ‘KpuB’ amb la seva clau privada, i després desencripta KprA amb la clau pública de A (que ha obtingut prèviament), i de pas, s’assegura que el missatge que ha rebut prove de A ja que sol el usuari A ha pogut encriptar ‘KprA’, ja que sol ell té la clau privada… alhora hem autentificat el usuari!!

I volià!! ja tenim un mètode per enviar comunicacions encriptades bastant fiable 🙂
Tot i així, ens han dit que aquest mètode de comunicació requereix bastant CPU i ara per ara no és viable, o sigui que de moment sol s’utilitza per passar firmes digitals. Pero… temps al temps!! 🙂

Val a dir que això ho he tret de una explicació que va fer el professor de un curs que estic fent 😛 (és un curs de seguretat de xarxes).

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *

spammer, go home! * Time limit is exhausted. Please reload the CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.