Caratteristiche, differenza e algoritimi di crittografia simmetrica e asimmetrica

Caratteristiche, differenza e algoritimi di crittografia simmetrica e asimmetrica

Sistemi di crittografia

Un sistema di crittografia è un algoritmo, che permette di cifrare una serie di dati in modo tale da renderli illeggibili se non si possiede una chiave.
Gli algoritmi di crittografia si possono dividere in due categorie: gli algoritmi a crittografia simmetrica o a chiave privata, e gli algoritmi di crittografia asimmetrica a chiave pubblica.

Caratteristiche, differenza e algoritimi di crittografia simmetrica e asimmetrica

Crittografia simmetrica

La caratteristica fondamentale degli algoritmi di crittografia simmetrica risiede nel fatto di avere un’unica chiave, che permette sia di cifrare i dati, sia di decifrarli. Nonostante le migliori prestazioni (maggiore velocità), rispetto agli algoritmi a crittografia asimmetrica, il principale limite sta proprio nel fatto di avere una sola chiave. Infatti, essendoci un’unica chiave il rischio che qualcuno se ne impossessi, avendo quindi i permessi per leggere e modificare i dati, è molto alto.

Un’altra caratteristica degli algoritmi a chiave privata è che, se un utente deve inviare un messaggio criptato a più parti, adotterà tante chiavi segrete quante sono le controparti; altrimenti ogni utente potrebbe leggere, e quindi anche modificare messaggi non rivolti a se stesso. Un altro problema sta nello scambio delle chiavi, le due parti dovranno vedersi di persona per scambiarsi le chiavi, dato che inviarle via mail non sarebbe una scelta giusta non essendo un canale protetto.

Esistono svariati algoritmi per la crittografia simmetrica:

  1. DES (Data Encryption Standard, algoritmo di crittografia sviluppato negli Stati Uniti ma usato anche da altri governi e soprattutto nel mondo della finanza. DES è un cifratore a blocchi con dimensione di 64 bit. Per la cifratura e la decifratura utilizza chiavi di 56 bit che lo rendono vulnerabile ad attacchi di forza bruta data l’attuale potenza di calcolo disponibile. Tuttavia, è abbastanza difficile da attaccare singolarmente, ma può essere facilmente forzato da associazioni, governi o istituzioni militari aventi a disposizione adeguate risorse hardware.
  2. IDEA (International Data Encryption Algorithm), è un algoritmo sviluppato dalla ETH Zurich in Svizzera, politecnico federale di Zurigo. Ideato nel 1990, è un algoritmo piuttosto recente ed anche uno tra i più conosciuti. Considerato molto sicuro, utilizza una chiave a 128 bit, e, da quando è stato creato nessuno è riuscito ad attaccarlo.
  3. RC4, algoritmo realizzato dalla RSA Security Inc., società statunitense specializzata in sicurezza informatica. Accetta chiavi di lunghezza arbitraria quindi non banale da attaccare. E’ essenzialmente un generatore di numeri pseudo casuali; è molto utilizzato nei protocolli SSL e WEP. L’RC4 crea un flusso di bit pseudo casuali, il quale viene combinato attraverso un’operazione di XOR che utilizza questa sequenza pseudo casuale per ottenere i dati cifrati.
Crittografia asimmetrica

A differenza degli algoritmi di crittografia a chiave simmetrica, che utilizzano la stessa chiave per cifrare e decifrare il messaggio, negli algoritmi di crittografia a chiave asimmetrica si utilizzano due chiavi distinte. La chiave per il decriptaggio non è ottenibile da quella utilizzata per il crittaggio.

Caratteristica principale di questi algoritmi è che una chiave è pubblica mentre l’altra è privata: la chiave pubblica è nota a tutti i destinatari del messaggio, quella privata invece è a conoscenza solo del proprietario. Quindi la chiave pubblica serve a criptare il messaggio, mentre la chiave privata a decriptarlo.

La crittografia asimmetrica fu ideata da Whitfield Diffie e Martin Hellman per rendere più sicuro lo scambio delle chiavi. Un limite relativo l’uso di questi algoritmi può essere l’invio di un messaggio da parte di un utente che finge di essere il mittente. Per questo motivo è stata ideata la firma digitale.

A differenza della crittografia simmetrica. in quella asimmetrica non è presente il problema di distribuzione delle chiavi, poiché è necessario scambiarsi solo le chiavi pubbliche. La comodità è quindi che le due parti possono trasmettere dati privati anche quando non c’è modo di concordare una chiave privata.

Solitamente tutti i metodi utilizzati per la crittografia asimmetrica sono abbastanza lenti.
Esistono diversi algoritmi a chiave pubblica:

  1. RSA (Rivest-Shamir-Adelman), è un algoritmo a chiavi asimmetriche creato nel 1978 da tre ricercatori (Rivest-Shamir-Adelman) del MIT (Massachussets Institute of Technology). E’ l’algoritmo a chiave pubblica più diffuso in quanto può essere usato sia per cifrare che per la firma digitale. Molto sicuro se sono usate chiavi abbastanza lunghe: con 512 bit è insicuro, con 786 è moderatamente sicuro e con 1024 è considerato abbastanza sicuro. La sicurezza di questo algoritmo è rappresentata dal fatto che è molto difficile fattorizzare numeri interi molto grandi.
  2. PGP (Pretty Good Privacy), è un algoritmo di crittografia a chiave pubblica, originariamente sviluppato da Phil Zimmerman nel 1991. E’ probabilmente il sistema di crittografia più usato al mondo. PGP è usato principalmente per lo scambio di documenti via Internet e, a differenza di SSL, può anche essere usato per proteggere dati su disco, o dati di backup. PGP utilizza sia la crittografia simmetrica che quella asimmetrica. La crittografia asimmetrica viene utilizzare per creare le due chiavi (pubblica e privata), la chiave pubblica serve al mittente per criptare una chiave segreta, detta anche chiave comune che servirà per un algoritmo di crittografia simmetrica, in pratica questa chiave serve per cifrare il testo in chiaro del messaggio. Il destinatario, una volta ricevuto il messaggio protetto da PGP lo decripta utilizzando la chiave segreta (o chiave di sessione) con l’algoritmo simmetrico. La chiave segreta è allegata nel messaggio ma è criptata, servirà la chiave privata del destinatario a decriptarla.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *