Un testo/informazione criptata tramite l'algoritmo RSA non è impossibile da decriptare; è computazionalmente difficile.
Per decriptare un'informazione criptata con RSA è necessario calcolarne la CHIAVE per decriptarlo.
L'RSA è un algoritmo "a chiave pubblica" ovvero genera una coppia di chiavi una utilizzata da chi vuole inviare l'informazione (che è quella pubblica) e una privata che è in possesso SOLO dal destinatario del messaggio che è quella da decriptare.
Il funzionamento dell'RSA è il seguente:
> Si scelgono due numeri PRIMI e tra loro (più grandi sono, meglio è) chiamiamoli P e Q.
> Si calcola N=P*Q e F(n)=(P-1)(Q-1)
> Si sceglie un numero C tale che F<F(n) e F COPRIMO di F(n)
> Si calcola un numero D tale che D*C sia CONGRUO a MOD(F(N))
In questo modo otteniamo una coppia di chiavi: (N,E) PUBBLICA e (N,D) PRIVATA.
Se possiedi le chiavi ovviamente è una passeggiata decriptare l'RSA.
Il metodo della fattorizzazione permette di calcolare P e Q perché si ha che:
ax^2+bx+c=0 si puo' scrivere come P/a(x-x1) + Q/(x-x2). (E' un metodo che si utilizza per risolvere gli integrali). Questo metodo può essere utilizzato SE E SOLO SE si possiede la funzione F(N).
Avendo P e Q puoi facilmente risalire alle chiavi.
Se non sei in possesso della funzione F(N) l'unico modo è il bruteforce.
Ovvero conoscendo il numero possibili di caratteri per una chiave (lettere dell'alfabeto maiuscole e minuscole)+(numeri da 0 a 9)+caratteri speciali le possibili chiavi (in quantità) da provare si calcolano così:
Sia K il numero di caratteri utilizzabili in una chiave
Sia N il numero di caratteri di cui è composta la chiave
Numero chiavi = (K!) / ((K-N)!*N!) dove con ! si indica il fattoriale. (formula delle combinazioni)
L'unica cosa è provare tutte le possibili chiavi in questo caso

.