Main

Metodo Di Crittografia RSA

Main.MetodoDiCrittografiaRSA History

Hide minor edits - Show changes to output

July 10, 2014, at 01:58 PM by Massimiliano Vessi -
Changed line 74 from:
* si calcola [[Firma Hash Dei File MD 5 | l'hash]] del file
to:
* si calcola [[Hash Dei File MD5 | l'hash]] del file
Changed line 77 from:
Chiunque voglia verificare il file, decripta l'hash con la chiave pubblica e vede se è corretto. Si utilizza l'hash del file per fare prima, altrimenti la firma sarebbe grossa quanto il file. Se non sapete cosa e' l'hash, leggete qui: [[Firma Hash Dei File MD 5]]
to:
Chiunque voglia verificare il file, decripta l'hash con la chiave pubblica e vede se è corretto. Si utilizza l'hash del file per fare prima, altrimenti la firma sarebbe grossa quanto il file. Se non sapete cosa e' l'hash, leggete qui: [[Hash Dei File MD5]]
July 09, 2014, at 06:11 PM by Massimiliano Vessi -
Changed line 77 from:
Chiunque voglia verificare il file, decripta l'hash con la chiave pubblica e vede se è corretto. Si utilizza l'hash del file per fare prima, altrimenti la firma sarebbe grossa quanto il file. Se non sapere coa e' l'hash, leggete qui: [[Firma Hash Dei File MD 5]]
to:
Chiunque voglia verificare il file, decripta l'hash con la chiave pubblica e vede se è corretto. Si utilizza l'hash del file per fare prima, altrimenti la firma sarebbe grossa quanto il file. Se non sapete cosa e' l'hash, leggete qui: [[Firma Hash Dei File MD 5]]
July 09, 2014, at 06:10 PM by Massimiliano Vessi -
Changed line 74 from:
* si calcola [[Firma dei file MD5 | l'hash]] del file
to:
* si calcola [[Firma Hash Dei File MD 5 | l'hash]] del file
Changed line 77 from:
Chiunque voglia verificare il file, decripta l'hash con la chiave pubblica e vede se è corretto. Si utilizza l'hash del file per fare prima, altrimenti la firma sarebbe grossa quanto il file. Se non sapere coa e' l'hash, leggete qui: [[Firma dei file MD5]]
to:
Chiunque voglia verificare il file, decripta l'hash con la chiave pubblica e vede se è corretto. Si utilizza l'hash del file per fare prima, altrimenti la firma sarebbe grossa quanto il file. Se non sapere coa e' l'hash, leggete qui: [[Firma Hash Dei File MD 5]]
July 09, 2014, at 06:09 PM by Massimiliano Vessi -
Changed line 74 from:
* si calcola l'hash del file
to:
* si calcola [[Firma dei file MD5 | l'hash]] del file
Changed line 77 from:
Chiunque voglia verificare il file, decripta l'hash con la chiave pubblica e vede se è corretto. Si utilizza l'hash del file per fare prima, altrimenti la firma sarebbe grossa quanto il file.
to:
Chiunque voglia verificare il file, decripta l'hash con la chiave pubblica e vede se è corretto. Si utilizza l'hash del file per fare prima, altrimenti la firma sarebbe grossa quanto il file. Se non sapere coa e' l'hash, leggete qui: [[Firma dei file MD5]]
July 09, 2014, at 06:08 PM by Massimiliano Vessi -
Added lines 70-78:

!!Firma digitale
Per firmare digitalmente un file:
* si prende il file
* si calcola l'hash del file
*si firma con la propria chiave privata l'hash

Chiunque voglia verificare il file, decripta l'hash con la chiave pubblica e vede se è corretto. Si utilizza l'hash del file per fare prima, altrimenti la firma sarebbe grossa quanto il file.

Added lines 81-85:

Il sistema AES e' un sistema di crittografia simmetrica utilizzato spessissimo, con la stessa chiave si cifra e si decifra un messaggio.

I sistemi di crittografia moderna di solito cifrano con AES un messaggio, inviano il messaggio cifrato con AES e inviano la chiave di AES cifrandola con un sistema asimmetrico.

July 09, 2014, at 05:52 PM by Massimiliano Vessi -
Changed lines 68-72 from:
Come vedete la chiave pubblica e quella privata hanno poco in comune, quella privata è più grande e quindi per ottenere il messaggio originale si impiega più tempo rispetto a quello per criptarlo. Nella maggior parte delle calcolatrici avrete dei problemi a riottenere il numero di partenza, perche' l'elevamento a potenza per numeri cosi' alti manda in tilt i sistemi classici di calcolo. La sicurezza di questo metodo e' dovuta solo all'elevamento a potenza per numeri molto grandi. Andare per tentativi per trovare la chiave privata e' un procedimento lungo.
to:
Come vedete la chiave pubblica e quella privata hanno poco in comune, quella privata è più grande e quindi per ottenere il messaggio originale si impiega più tempo rispetto a quello per criptarlo. Nella maggior parte delle calcolatrici avrete dei problemi a riottenere il numero di partenza, perche' l'elevamento a potenza per numeri cosi' alti manda in tilt i sistemi classici di calcolo. La sicurezza di questo metodo e' dovuta solo all'elevamento a potenza per numeri molto grandi. Andare per tentativi per trovare la chiave privata e' un procedimento lungo.

!!Considerazioni
I sistemi per decriptare testi cifrati con chiave asimmetrica sono molto lenti. Come abbiamo visto servono funzioni di calcolo appositamente progettate per lavorare con numeri cosi' grandi. '''Nella pratica nessun sistema utilizza realmente la cifratura asimmetrica.''' Per ridurre i tempi per decriptare i messaggi cifrati, '''tutti i sistemi utilizzano una sistema a chiave simmetrica, e solo la chiave simmetrica e' cifrata asimmetricamente.''' E' ovvio che è molto meno sicuro, ma attualmente e' l'unico realmente adottato in pratica.

July 07, 2014, at 11:18 AM by Massimiliano Vessi -
Changed lines 7-9 from:
*p=107
*q= 127
to:
*p = 107
*q = 127
Changed lines 18-20 from:
* n=13589
* z=13356
to:
* n = 13589
* z = 13356
Changed lines 23-24 from:
* z=13356=2'^2^'*3'^2^'*7*53
*quindi  e=55 va bene, perche' 55=5*11
to:
* z = 13356 = 2'^2^'*3'^2^'*7*53
*quindi  e = 55 va bene, perche' 55 = 5*11
July 07, 2014, at 11:16 AM by Massimiliano Vessi -
Changed line 68 from:
Come vedete la chiave pubblica e quella privata hanno poco in comune, quella privata è più grande e quindi per ottenere il messaggio originale si impiega più tempo. Nella maggior parte delle calcolatrici avrete dei problemi a riottenere il numero di partenza, perche' l'elevamento a potenza per numeri cosi' alti manda in tilt i sistemi classici di calcolo. La sicurezza di questo metodo e' dovuta solo all'elevamento a potenza per numeri molto grandi. Andare per tentativi per trovare la chiave privata e' un procedimento lungo.
to:
Come vedete la chiave pubblica e quella privata hanno poco in comune, quella privata è più grande e quindi per ottenere il messaggio originale si impiega più tempo rispetto a quello per criptarlo. Nella maggior parte delle calcolatrici avrete dei problemi a riottenere il numero di partenza, perche' l'elevamento a potenza per numeri cosi' alti manda in tilt i sistemi classici di calcolo. La sicurezza di questo metodo e' dovuta solo all'elevamento a potenza per numeri molto grandi. Andare per tentativi per trovare la chiave privata e' un procedimento lungo.
July 07, 2014, at 11:14 AM by Massimiliano Vessi -
Added line 68:
Come vedete la chiave pubblica e quella privata hanno poco in comune, quella privata è più grande e quindi per ottenere il messaggio originale si impiega più tempo. Nella maggior parte delle calcolatrici avrete dei problemi a riottenere il numero di partenza, perche' l'elevamento a potenza per numeri cosi' alti manda in tilt i sistemi classici di calcolo. La sicurezza di questo metodo e' dovuta solo all'elevamento a potenza per numeri molto grandi. Andare per tentativi per trovare la chiave privata e' un procedimento lungo.
July 07, 2014, at 11:06 AM by Massimiliano Vessi -
Changed line 66 from:
{$ m e x  =(c r y p t)^d mod n = 10384?11899 mod 13589 = 67 $}
to:
{$ m e x  =(c r y p t)^d mod n = 10384^11899 mod 13589 = 67 $}
July 07, 2014, at 11:06 AM by Massimiliano Vessi -
Changed line 60 from:
Nel nostro esempio abbiamo che il messaggio diventa il primo numero del messaggio (67) diventa:
to:
Nel nostro esempio abbiamo che il primo numero del messaggio (67) diventa:
July 07, 2014, at 11:05 AM by Massimiliano Vessi -
Added lines 59-66:

Nel nostro esempio abbiamo che il messaggio diventa il primo numero del messaggio (67) diventa:

{$ c r y p t =(m e x)^e mod n  = 67^55 mod 13589 = 10384 $}

mentre per ottenere il numero originale:

{$ m e x  =(c r y p t)^d mod n = 10384?11899 mod 13589 = 67 $}
July 07, 2014, at 10:13 AM by Massimiliano Vessi -
Added lines 47-58:
per criptare si usa la seguente formula su ogni numero:

{$ c r y p t =(m e x)^e mod n $}

dove
* ''crypt'' e' il numero criptato
* ''mex'' e' il numero originale
* ''mod'' e' il resto della divisione per n

mentre per decriptare abbiamo:

{$ m e x  =(c r y p t)^d mod n $}
July 07, 2014, at 10:09 AM by Massimiliano Vessi -
Changed lines 36-41 from:
Perfetto, ora e' tutto pronto per utilizzare il metodo RSA. Proviamo a scrivere un messaggio da inviare in forma criptata, ad esempio:
to:
Perfetto, ora e' tutto pronto per utilizzare il metodo RSA:

* la '''chiave pubblica''' e' la coppia di numeri '''n''' e '''e'''
* la '''chiave privata''' e' la coppia di numeri '''n''' e '''d'''

Proviamo a scrivere un messaggio da inviare in forma criptata, ad esempio:
July 07, 2014, at 09:41 AM by Massimiliano Vessi -
Added lines 35-41:

Perfetto, ora e' tutto pronto per utilizzare il metodo RSA. Proviamo a scrivere un messaggio da inviare in forma criptata, ad esempio:
 Ciao a tutti
Questa semplice frase e' in realta' una sequenza di numeri, per l'esattezza in codifica ASCII, quella piu' usata sui computer dove ad ogni lettera e' associato un  numero, e':

 67  105  97  111  32  97  32  116  117  116  116  105

July 07, 2014, at 09:18 AM by Massimiliano Vessi -
Changed lines 30-35 from:
dove m e' il multiplo
to:
dove m e' il multiplo.

Nel nostro caso il primo multiplo valido e' 49, quindi:

{$ d=(m*z +1)/ e = (49*13356 + 1)/ 55 =  11899 $}

July 07, 2014, at 09:05 AM by Massimiliano Vessi -
Changed lines 26-28 from:
Ora dobbiamo trovare una chiave di decriptazione (''decription'') '''d''' tale che d<n ma '''(e*d)-1''' sia un multiplo di z. Riscrivendo il tutto si puo' anche dire:

{$ d = (m*z +1)/ e $} con {$ d in NN $}
to:
Ora dobbiamo trovare una chiave di decriptazione (''decription'') '''d''' tale che '''d<n''' ma '''(e*d)-1''' sia un multiplo di z. Riscrivendo il tutto si puo' anche dire:

{$ d = (m*z +1)/ e $} ; con {$ d in NN $}
July 07, 2014, at 09:03 AM by Massimiliano Vessi -
Changed lines 5-6 from:
Si scelgono due [[http://it.wikipedia.org/wiki/Numero_primo | numeri primi]] '''p''' e '''q''', nella pratica il prodotto di questi numeri deve fare un numero molto grande, dell'ordine delle '''300 cifre!''' Facciamo un esempio con numeri piccoli:
to:
Si scelgono due [[http://it.wikipedia.org/wiki/Numero_primo | numeri primi]] '''p''' e '''q'''; nella pratica, per rendere questo sistema sicuro e complicato,  il prodotto di questi numeri deve fare un numero molto grande, dell'ordine delle '''300 cifre!''' Facciamo un esempio valido, ma con numeri piccoli:
Changed lines 21-22 from:
A questo punto si sceglie un numero '''e''' tale che  2<e<n ma che non abbia fattori in comune con z (scomponendolo in fattori primi). Nel nostro esempio:
to:
A questo punto si sceglie un numero '''e''' (chiave di criptazione o ''encription'') tale che  '''2<e<n''' ma che non abbia fattori in comune con z (scomponendolo in fattori primi). Nel nostro esempio:
Added lines 26-30:
Ora dobbiamo trovare una chiave di decriptazione (''decription'') '''d''' tale che d<n ma '''(e*d)-1''' sia un multiplo di z. Riscrivendo il tutto si puo' anche dire:

{$ d = (m*z +1)/ e $} con {$ d in NN $}

dove m e' il multiplo
July 07, 2014, at 08:53 AM by Massimiliano Vessi -
Changed lines 18-21 from:
* p=13589
* q=13356

A questo punto si sceglie un numero '''e''' tale che  2<e<n ma che non abbia fattori in comune con z.
to:
* n=13589
* z=13356

A questo punto si sceglie un numero '''e''' tale che  2<e<n ma che non abbia fattori in comune con z (scomponendolo in fattori primi). Nel nostro esempio:

* z=13356=2'^2^'*3'^2^'*7*53
*quindi  e=55 va bene, perche' 55=5*11

July 07, 2014, at 08:48 AM by Massimiliano Vessi -
Changed lines 18-21 from:
*
to:
* p=13589
* q=13356

A questo punto si sceglie un numero '''e''' tale che  2<e<n ma che non abbia fattori in comune con z.
July 07, 2014, at 08:46 AM by Massimiliano Vessi -
Changed lines 5-18 from:
Si scelgono due [[http://it.wikipedia.org/wiki/Numero_primo | numeri primi]] '''p''' e '''q'''
to:
Si scelgono due [[http://it.wikipedia.org/wiki/Numero_primo | numeri primi]] '''p''' e '''q''', nella pratica il prodotto di questi numeri deve fare un numero molto grande, dell'ordine delle '''300 cifre!''' Facciamo un esempio con numeri piccoli:

*p=107
*q= 127

A questo punto si calcolano due valori '''n''' e '''z''' con le seguenti formule:

{$ n=p * q $}

{$ z= (p-1)*(q-1) $}

nel nostro esempio abbiamo:

*
July 07, 2014, at 08:42 AM by Massimiliano Vessi -
Added lines 1-5:
La crittografia RSA e' un sistema per inviare messaggi in codice a ''chiave asimmetrica''. Cio' vuol dire che chi vuole '''ricevere''' messaggi che nessun altro possa capire genera due chiavi: una pubblica e una privata. Tutte i messaggi criptati con la chiave pubblica possono essere decriptati solo con la chiave privata. Quindi la chiave pubblica puo' essere pubblicata su un sito, tutti quelli che vogliono inviare messaggi criptati la usano per offuscare i messaggi; solo il proprietario della chiave privata sara' in grado di ottenere di nuovo il testo in chiaro (leggibile) utilizzando la sua chiave privata.

Vediamo matematicamente come si fa.

Si scelgono due [[http://it.wikipedia.org/wiki/Numero_primo | numeri primi]] '''p''' e '''q'''

HomePage

Guide

Altro

Translate:

Pubblicità:

Licenza Creative Commons
DuckDuckGo

edit SideBar

edit TopNav

Blix theme adapted by David Gilbert, powered by PmWiki