Craccata la codifica RSA a 768 bit
3 partecipanti
Craccata la codifica RSA a 768 bit
Un gruppo di ricercatori universitari sono riusciti a craccare un codice RSA a 768 bit.
La maggior parte delle codifiche oggi esistenti si basano su grandi numeri che sono il prodotto di due numeri primi.
Conoscendo i numeri primi necessari al funzionamento della codifica RSA è relativamente facile decriptare i dati, la difficoltà sta appunto nella ricerca di questi numeri.
La decodifica ha prodotto circa 5 TeraByte di dati con un normale processore Opteron 2.2GHz ci si impiegherebbe 1500 anni, infatti si tratta di un attacco brute force.
È meglio quindi usare una codifica RSA a 1024 bit, cosi possiamo stare tranquilli per qualche altro anno.
....
Fonte
Re: Craccata la codifica RSA a 768 bit
diciamo che è leggermente più complicata la storia...Slack ha scritto:
La maggior parte delle codifiche oggi esistenti si basano su grandi numeri che sono il prodotto di due numeri primi.
Fonte
Re: Craccata la codifica RSA a 768 bit
Visto che è un forum di informatica potresti argomentare un po' meglio, ad esempio per floatman che non ne sa molto dell'argomentodiciamo che è leggermente più complicata la storia...
...un brute con un dizionario da 5 tera non credo richieda il passaggio ai 1024 bit
Re: Craccata la codifica RSA a 768 bit
Certo che approfondisco floattuzzo meo di lu me cori...
Ho studiato RSA(come compendio di Geometria,Sistemi lineari ed Elementi dii crittografia) non riuscendo bene a fare gli esercizi che mi dava il mio professorino fastidioso che mi ha rimandato 4 volte:
Vi posto un pezzo di dispensa:
iil codice
RSA (dal nome degli ideatori Rivest, Shamir a Adleman).
Il lettore avrà noto che nelle telecomunicazioni moderne tutti i
dati (immagini, suoni, parole, filmati...) possono venir rappresentati attraverso stringhe binarie. A sua volta ogni stringa binaria
rappresenta un numero naturale in base 2, ad esempio
11011012 = 1 · 26 + 1 · 25 + 0 · 24 + 1 · 23 + 1 · 22 + 0 · 21 + 1 · 20
= 12510 = 1 · 102 + 2 · 101 + 5 · 100 .
Quindi, mediante opportuna codifica, ogni file può essere rappresentato da un numero naturale m.
Supponiamo adesso che l’utente A voglia trasmettere questo dato
m all’utente B in modo confidenziale. Si può procedere in questo
modo:
1) A comunica a B la sua intenzione di trasmettere un messaggio
cifrato e richiede la chiave pubblica di B;
2) B costruisce la chiave pubblica nel seguente modo:
i) Sceglie due numeri primi distinti p, q (molto grandi e relativa mente vicini);
ii) Calcola il minimo comune multiplo λ = mcm(p − 1, q − 1);
iii) Sceglie un numero naturale e ∈ N relativamente primo con λ,cioè tale che il massimo comun divisore MCD(e, λ) sia 1;
iv) Applicando l’Algoritmo di Euclide, determina un numero naturale d ∈ N e un intero k ∈ Z tali che 1 = ed + λk.
3) Trasmette ad A la chiave pubblica (n, e) rendendo pubblica la coppia, senza però svelare p e q, n ́ tanto meno d (la chiave privata,
facilmente determinabile se fossero noti p e q). Notare che tutto lo
schema si basa sul fatto che determinare p e q conoscendo n = pq è un problema che richiede un tempo enorme.
4) A riceve la chiave pubblica (n, e), calcola il messaggio cifrato
c = m^e%n e lo trasmette a B, rendendolo pubblico.
5)B trova facilmente m da c. Infatti dimostriamo che,
conoscendo la chiave privata d, per ottenere m da c, basta calcolare cd modulo n.
1.3.1 Teorema. cd ≡ m (pq).
Dimostrazione: Per ogni numero intero x abbiamo, per il teorema
di Fermat 1.1.3, xp ≡ x (p). Proviamo che
xed = 0 ≡ x (p).
1) Se p divide x non occorre fare altri calcoli per stabilire che
xed ≡ 0 ≡ x (p).
2)Se p non divide x, cioè se x = 0, allora moltiplicando per x−1
otteniamo xp−1 ≡ 1 (p). Poich è λ è un multiplo di p − 1, poniamo
λ = (p − 1)t e quindi otteniamo xλk = x(p−1)tk ≡ 1 (p). Infine
xed = x1−λk = x · x−λk ≡ x (p).
Allo stesso modo si prova che xed ≡ 0 ≡ x (q). Quindi entrambi
p e q dividono xed − x. Ne consegue che n = pq divide xed − x cioè:
xed ≡ x (pq).
Quindi cd ≡ med ≡ m (n).
Spero tu sia contento floattuzzo, ora come dice il mio prof. di analisi "Va sciogghi sta crapa a lu scuru"[cit.](=Adesso libera dalla corda che la trattiene la capra, mentre è attaccata alle intemperie e al buio)
Ho studiato RSA(come compendio di Geometria,Sistemi lineari ed Elementi dii crittografia) non riuscendo bene a fare gli esercizi che mi dava il mio professorino fastidioso che mi ha rimandato 4 volte:
Vi posto un pezzo di dispensa:
iil codice
RSA (dal nome degli ideatori Rivest, Shamir a Adleman).
Il lettore avrà noto che nelle telecomunicazioni moderne tutti i
dati (immagini, suoni, parole, filmati...) possono venir rappresentati attraverso stringhe binarie. A sua volta ogni stringa binaria
rappresenta un numero naturale in base 2, ad esempio
11011012 = 1 · 26 + 1 · 25 + 0 · 24 + 1 · 23 + 1 · 22 + 0 · 21 + 1 · 20
= 12510 = 1 · 102 + 2 · 101 + 5 · 100 .
Quindi, mediante opportuna codifica, ogni file può essere rappresentato da un numero naturale m.
Supponiamo adesso che l’utente A voglia trasmettere questo dato
m all’utente B in modo confidenziale. Si può procedere in questo
modo:
1) A comunica a B la sua intenzione di trasmettere un messaggio
cifrato e richiede la chiave pubblica di B;
2) B costruisce la chiave pubblica nel seguente modo:
i) Sceglie due numeri primi distinti p, q (molto grandi e relativa mente vicini);
ii) Calcola il minimo comune multiplo λ = mcm(p − 1, q − 1);
iii) Sceglie un numero naturale e ∈ N relativamente primo con λ,cioè tale che il massimo comun divisore MCD(e, λ) sia 1;
iv) Applicando l’Algoritmo di Euclide, determina un numero naturale d ∈ N e un intero k ∈ Z tali che 1 = ed + λk.
3) Trasmette ad A la chiave pubblica (n, e) rendendo pubblica la coppia, senza però svelare p e q, n ́ tanto meno d (la chiave privata,
facilmente determinabile se fossero noti p e q). Notare che tutto lo
schema si basa sul fatto che determinare p e q conoscendo n = pq è un problema che richiede un tempo enorme.
4) A riceve la chiave pubblica (n, e), calcola il messaggio cifrato
c = m^e%n e lo trasmette a B, rendendolo pubblico.
5)B trova facilmente m da c. Infatti dimostriamo che,
conoscendo la chiave privata d, per ottenere m da c, basta calcolare cd modulo n.
1.3.1 Teorema. cd ≡ m (pq).
Dimostrazione: Per ogni numero intero x abbiamo, per il teorema
di Fermat 1.1.3, xp ≡ x (p). Proviamo che
xed = 0 ≡ x (p).
1) Se p divide x non occorre fare altri calcoli per stabilire che
xed ≡ 0 ≡ x (p).
2)Se p non divide x, cioè se x = 0, allora moltiplicando per x−1
otteniamo xp−1 ≡ 1 (p). Poich è λ è un multiplo di p − 1, poniamo
λ = (p − 1)t e quindi otteniamo xλk = x(p−1)tk ≡ 1 (p). Infine
xed = x1−λk = x · x−λk ≡ x (p).
Allo stesso modo si prova che xed ≡ 0 ≡ x (q). Quindi entrambi
p e q dividono xed − x. Ne consegue che n = pq divide xed − x cioè:
xed ≡ x (pq).
Quindi cd ≡ med ≡ m (n).
Spero tu sia contento floattuzzo, ora come dice il mio prof. di analisi "Va sciogghi sta crapa a lu scuru"[cit.](=Adesso libera dalla corda che la trattiene la capra, mentre è attaccata alle intemperie e al buio)
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.