Pagina 1 di 1

Algoritmi di crittografia: un po' di chiarezza

MessaggioInviato: gio dic 21, 2006 12:42 pm
da galiwton
Buongiorno a tutti.
E' nota a molti la storia e gli sviluppi del software a crittografia asimettrica PGP (link), ed eventualmente delle sue varianti (link) ma quello su cui vorrei fare chiarezza grazie al vostro aiuto è l'algoritmo asimettrici utilizzati per generare le chiavi (private e pubblica).
Ho notato che ne esistono di diversi (DSA, RSA, DSS, l'ibrido Diffie-Hellman/DSS, ElGalaman), ciascuno con le sue varianti (es. RSA V.4) e le sue evoluzioni. Ho inoltre notato che, nonostante le attuali versioni CKT di PGP consentanto di generare chiavi RSA fino a 16384 bit e Diffie-Hellman/DSS a fino 8192, l'autore storico del programma, nonchè autorità nel campo crittografico Philip Zimmerman sostiene quanto riporto qui sotto (tratto direttamente dal file di installazione della versione 6.5.8ckt - Build09b3 di PGP):
************************************************
* A Message From Philip Zimmermann
************************************************
There is no advantage for using the keys larger than about 3000 bits. The 128-bit session keys have the same work factor to break as a 3000 bit RSA or DH key. Therefore, the larger keys contribute nothing to security, and, in my opinion, spread superstition and ignorance about cryptography. They also slow everything down and burden the key servers and everyone's keyrings, as well as cause interoperability problems with present and future releases of PGP. Perhaps even more importantly, they also undermine other people's faith in their own keys that are of appropriate size. While it may have been well-intentioned, this massive expansion of key size is a disservice to the PGP community.

Also, larger DSA keys don't contribute anything unless the hash grows bigger with it. That requires selecting a good well-designed bigger hash that has been specifically designed to have the full work factor for breaking it. Using two SHA1 hashes in that manner has not been adequately shown to achieve this result.

Anyone with a sophisticated understanding of cryptography would not make the keys bigger this way.

Experimental code that we put into PGP during its development should not be used. It was protected with conditional compilation flags and should never have been revealed to uninformed users who decide to perform a "public service" by enabling the code and releasing it. This is part of the reason why we ask people not to release code changes on their own, but to send them to us, so that we may incorporate some of them (if they seem like good ideas) into our next product release. That is how PGP enhancements from the user community have always been managed since PGP source code was released in 1991.

-Philip Zimmermann

Quello che chiedo a chiunque abbia informazioni o link al riguardo è:
- Quale è "l'evoluzione" storica degli algoritmi sopra citati? (quale viene prima, quali sono le varianti etc. etc.).
- Quali sono, allo stato attuale, le vulnerabilità note negli algoritmi sopra citati, e quali sono quelli attualmente considerati i migliori dalla comunità informatica?
- Quale è, allo stato attuale, la lunghezza delle chiavi consigliate e perché non ci sono vantaggi nell'aumentare in dimensioni le chiavi (oltre i 3000-4000 bit)?
Grazie a tutti
Saluti

MessaggioInviato: gio dic 21, 2006 4:41 pm
da kap

MessaggioInviato: gio dic 21, 2006 8:32 pm
da galiwton
Grazie per il link; ero già andato in quella pagina e in quelle collegate ma quello che cerco non è presente.
In compenso sono presenti interessanti informazioni circa i fondamentali strumenti matematici che sono alla base del DH e del RSA (rispettivamente problema del logaritmo discreto, e della fattorizzazione in numeri primi).
Se qualcuno ha altri link per le questioni prima citate lo ringrazio anticipitamente.

MessaggioInviato: gio dic 21, 2006 9:01 pm
da The King of GnG
La crittografia è un po' come l'informatica: metà scienza, metà pratica, metà fede. Insomma è una pratica a 3/2 [:-D]

Per dire che nemmeno i ricercatori sono in grado di mettersi d'accordo tra di loro, per via della natura altamente speculativa della materia. Quindi stabilire cosa è "migliore" rispetto a cosa, mi pare un po' un terno al lotto....

Riguardo le vulnerabilità non so che dirti....

Riguardo i migliori, oltre alla crittografia asimmetrica di PGP (la mia preferita di sempre, visto l'alto livello di sicurezza garantito dalla doppia chiave pubblica/privata), c'è l'algoritmo di cifratura AES che è stato adottato dalla NSA. Ed è la prima volta, nella storia della crittografia, che un'istituzione di sicurezza considera talmente sicuro un algoritmo da permettere che sia di pubblico dominio, continuando nel contempo ad utilizzarlo per proteggere le informazioni classificate.

MessaggioInviato: ven dic 22, 2006 2:50 pm
da galiwton
Per dire che nemmeno i ricercatori sono in grado di mettersi d'accordo tra di loro, per via della natura altamente speculativa della materia. Quindi stabilire cosa è "migliore" rispetto a cosa, mi pare un po' un terno al lotto....

Si, su questo in parte mi trovi d'accordo; per "migliore" infatti non intendevo in senso prettamente teorico, ma più in termini di vulnerabilità ad attacchi riscontrati. Ossia: sono note violazioni di algoritmi RSA, DH, DH/DSS e ElGalaman?
Riguardo i migliori, oltre alla crittografia asimmetrica di PGP (la mia preferita di sempre, visto l'alto livello di sicurezza garantito dalla doppia chiave pubblica/privata), c'è l'algoritmo di cifratura AES che è stato adottato dalla NSA. Ed è la prima volta, nella storia della crittografia, che un'istituzione di sicurezza considera talmente sicuro un algoritmo da permettere che sia di pubblico dominio, continuando nel contempo ad utilizzarlo per proteggere le informazioni classificate.

Senza ombra di dubbio la crittografia simmetrica ha i suoi vantaggi; ma il prezzo da pagar è quello di essere costretti ad avere un canale sicuro per lo scambio della chiave.
Grazie per la risposta.
Saluti

MessaggioInviato: ven dic 22, 2006 3:01 pm
da thomas
La forza di questi algoritmi sta nel tempo che serve per decrittarli...
La loro complessità cresce esponenzialmente al numero di cifre utilizzate nelle chiavi (ho RSA in mente).
Aggiungere una cifra alla chiave, significa raddoppiare la sua forza.
Raddoppiare il numero di cifre in una chiave, significare renderlo molto forte e complesso...

Ecco perché è pressochè inutile utilizzare chiavi lunghissime... sono già forti normalmente.

Come si decrittano? Il concetto alla base è la fattorizzazione, che ce la insegnano alle scuole medie.

Fattorizzare un numero di due cifre, è facile.
Fattorizzare un numero con tante cifre, è difficile.
Tutto qui.

Trovare la chiave privata conoscendo solo la chiave pubblica, rende la fattorizzazione (che è il processo inverso della creazione della chiave pubblica a partire da quella privata) assai lunga e dispendiosa.

E' recente la "messa in codice" da parte di un gruppo di indiani (sempre loro, piccoli matematici) di un algoritmo capace di trovare la chiave privata partendo dalla pubblica usando proprio la fattorizzazione... unico problema? Anche utilizzando tutti i calcolatori del mondo, il tempo di esecuzione era enorme.

In breve, la sicurezza di molti di questi algoritmi, non sta nella loro impossibilità al reverse enginering, quanto al tempo necessario al suo completamento.

Queste informazioni vengono dal corso di sicurezza che ho seguito ormai l'anno scorso, se vi servono dati più precisi mi costringete a cercare tra i bit dei miei archivi [sh]

MessaggioInviato: ven dic 22, 2006 4:07 pm
da galiwton
Come si decrittano? Il concetto alla base è la fattorizzazione, che ce la insegnano alle scuole medie.

Fattorizzare un numero di due cifre, è facile.
Fattorizzare un numero con tante cifre, è difficile.
Tutto qui.

Giusto per l'RSA; nell'algoritmo Diffie-Hellman si sfrutta invece il cosidetto problema del logaritmo discreto.
Queste informazioni vengono dal corso di sicurezza che ho seguito ormai l'anno scorso, se vi servono dati più precisi mi costringete a cercare tra i bit dei miei archivi

Se il tempo a tua disposizione te lo rende possibile, te ne sarei grato.
Al corso che hai seguito hai mai sentito parlare di violazioni degli algoritmi proposti?
Grazie
Saluti

MessaggioInviato: ven dic 22, 2006 5:40 pm
da The King of GnG
Riguardo le potenziali vulnerabilità di AES....


In 2002, a theoretical attack, termed the "XSL attack", was announced by Nicolas Courtois and Josef Pieprzyk, showing a potential weakness in the AES algorithm. Several cryptography experts have found problems in the underlying mathematics of the proposed attack, suggesting that the authors may have made a mistake in their estimates. Whether this line of attack can be made to work against AES remains an open question. For the moment, the XSL attack against AES appears speculative; it is unlikely that anyone could carry out the current attack in practice.


Side channel attacks

Side channel attacks do not attack the underlying cipher, but attack implementations of the cipher on systems which inadvertently leak data.
In April 2005, D.J. Bernstein announced a cache timing attack that he used to break a custom server that used OpenSSL's AES encryption. The custom server was designed to give out as much timing information as possible, and the attack required over 200 million chosen plaintexts. Some say the attack is not practical over the internet with a distance of one or more hops [5]; Bruce Schneier called the research a "nice timing attack." [6]
In October 2005, Adi Shamir and two other researchers presented a paper demonstrating several cache timing attacks(PDF file) against AES. One attack was able to obtain an entire AES key after only 800 writes, in 65 milliseconds. This attack requires the attacker to be able to run programs on the same system that is performing AES encryptions.


Fonte

MessaggioInviato: ven dic 22, 2006 8:18 pm
da thomas

MessaggioInviato: ven dic 22, 2006 10:56 pm
da galiwton
Tnx!

MessaggioInviato: sab dic 23, 2006 2:30 pm
da Bondo

MessaggioInviato: sab dic 23, 2006 2:32 pm
da Bondo
thomas ha scritto:Fattorizzare un numero con tante cifre, è difficile.


Se non erro nel 2005 è uscito un articolo di ricercatoro indiani (sempre la le fanno 'ste cose...) che pero' dimostra che la ricerca di fattori primi ha complessità lineare...

MessaggioInviato: sab dic 23, 2006 2:43 pm
da thomas

MessaggioInviato: dom dic 24, 2006 8:35 pm
da Bondo
thomas ha scritto:

29/30 [^]


Hai vinto tu :)

comunque io ci sono rimasto quando ho letto il nome di Ozalp tra gli sviluppatori della Sistem V

MessaggioInviato: lun dic 25, 2006 12:14 am
da thomas
Non è cosa rara nel nostro ambiente [;)]