Crittografica Simmetrica
La crittografia simmetrica è una delle tecniche di occultamento più comune dei messaggi, essa consiste nell'avere un’unica chiave sia per criptare sia per decriptare il messaggio comunicato; ciò comporta che sia il mittente che il destinatario debbano essere in possesso della chiave. A seconda dei vari algoritmi vengono applicati procedimenti leggermente diversi ma basati sullo stesso principio.
I principali algoritmi di crittografia simmetrica sono:
- DES(Data Encryption Standard): pubblicata nel 1976 da IBM, divenne l’algoritmo principale del FIPS(Federal Information Processing Standard) nel governo degli USA per poco più di vent’anni, siccome nel 1997 fu decifrato e da lì sostituito. Questo algoritmo operava con chiavi da 56 bit per blocchi da 64 bit.
- 3DES(Triple DES): è un miglioramento dell’algoritmo visto poco fa, infatti venne adottato quando il precedete non risultò essere più sicuro. Il miglioramento adottato fu quello di complicare le chiavi di decriptazione, dunque decisero di utilizzare 3 chiavi generate dall’algoritmo DES e accorparle, creandone un’unica da 168 bit. Per il resto le meccaniche dell’algoritmo vennero mantenute invariate.
- AES(Advanced Encryption Standard): nel 1999, poco dopo che il DES venne decriptato, vennero proposti molti algoritmi sostitutivi; tra tutti il più sicuro risultò essere l’algoritmo Rijndael, fu denominato AES e venne fin da subito adottato nel governo americano. Questo sistema lavora a blocchi fissi di 128 bit e a chiavi da lunghezza standard pari a 128 bit, ma con la possibilità di utilizzare chiavi persino più lunghe, anche da 192 e 256 bit.
Crittografia Asimmetrica
Un altro metodo tipo di crittografia molto utilizzata per occultare i messaggi è la crittografia asimmetrica. Questa tipologia consiste nel possedere due chiavi, una pubblica che viene distribuita, e una privata tenuta segreta, questo sistema evita lo scambio della chiave che nel sistema di crittografia simmetrica devono essere inviate con il rischio di essere intercettate. La comunicazione avviene con l’invio del messaggio che si vuole trasmettere e della chiave privata associata, tutto questo criptato attraverso la chiave pubblica che viene inviata separatamente; lo scopo quindi possiamo dire che è mantenere la chiave privata segreta e decifrabile solo con la chiave pubblica. Un’altra differenza dalla crittografia simmetrica è che non è necessario stabilire un canale sicuro per comunicare col destinatario.
Uno svantaggio di questo metodo è il grande peso computazionale, infatti viene applicato per messaggi brevi, al contrario per messaggi lunghi viene applicata la crittografia simmetrica. Gli altri ambiti di utilizzo di questo tipo di crittografia legati effettivamente alla comunicazione sono principalmente due:
- inviare un messaggio al destinatario, leggibile solo dal destinatario grazie alla chiave privata in suo esclusivo possesso.
- verificare l’autenticità di un messaggio inviato, decifrando e chiedendo conferma al mittente, in questo caso al contrario del precedente sia il mittente che il destinatario sono in grado di decifrare il messaggio in questione.
L’invio della chiave pubblica avviene come prima cosa una volta che si è stabilita la connessione, le chiavi vengono comunicate attraverso un messaggio criptato mediante la crittografia simmetrica. Queste chiavi comunicate sono di fatto “usa e getta”, quindi una volta che la comunicazione termina le chiavi non sono più utilizzabili.
La crittografia asimmetrica viene utilizzata anche nelle firme digitali per autenticare e stabilire se il messaggio è integro, oltre che rilevare un tentativo di forzatura della chiave di decriptazione terminando il processo, con questo è possibile determinare se sono state applicate modifiche di terze parti nel messaggio.
Gli algoritmi che applicano la crittografia asimmetrica principali sono:
- SSH(Secure SHell): permette di stabilire una connessione remota tramite un’interfaccia a riga di comando
- TLS(Transport Layer Security): è l’algoritmo predecessore dell’algoritmo SSL, opera in applicazione client/server preservando dalla manomissione dei dati, falsificazione e dell’intercettazione del messaggio
- GPG(GNU Privacy Guard): questo algoritmo è applicabile ad una grande varietà di sistemi operativi, accorpa sia l’utilizzo delle due chiave come intese nella crittografia asimmetrica, sia di algoritmi della crittografia simmetrica come il DES o il 3DES
Federico Danda