Crittografia
Consiste nella codifica e decodifica di messaggi e si basa su algoritmi crittografici che utilizzano:
- una o più funzioni matematiche
- una o più chiavi per operazioni di cifratura e relativa decifratura
Elementi della crittografia
- Crittografia: procedimento di cifratura e decifratura dei messaggi basta su funzioni parametriche
- Testo in chiaro: messaggio originario
- Algoritmo di cifratura: effettua sostituzioni e trasformazioni sul testo in chiaro
- Testo cifrato: output dell'algoritmo di cifratura da trasmettere sul canale
- Algoritmo di decifratura: effettua il lavoro inverso dell'algoritmo di cifratura
- Chiave: parametro dell'algoritmo di cifratura o decifratura
Classificazione dei sistemi crittografici
Essi si possono classificare in:
Tipo di operazioni
- Sostituzione: ogni elemento del testo in chiaro è trasformato in un altro elemento. Una delle più famose è la cifratura di Cesare
- Trasposizione: gli elementi del testo in chiaro sono riorganizzati
Numero di chiavi
- Chiave singola: crittografia a chiave simmetrica o chiave segreta
- Due chiavi: crittografia a chiave asimmetrica o chiave pubblica
Modo in cui il testo in chiaro è elaborato
- Cifrario a blocchi: elabora in blocchi di dimensione fissa
- Cifrario a flusso: elabora senza una lunghezza predefinita
Crittoanalisi
Opposte alla crittografia si sono sviluppate tecniche di crittoanalisi con lo scopo di analizzare e cercare di violare le comunicazioni cifrate, ossia decifrare il contenuto di un messaggio senza conoscere la chiave.
- Attacchi a forza bruta → si prova ogni chiave possibile fino a trovare quella corretta
- Analisi crittografica → si sfruttano informazioni sull'algoritmo, le caratteristiche dei testi in chiaro, o l'analisi di coppie note di teso in chiaro / testo cifrato
Sicurezza dei cifrari
- Sicurezza incondizionata: è impossibile decifrare il testo senza sapere la chiave
- Sicurezza computazionale:
Un sistema di cifratura è computazionalmente sicuro se il testo cifrato soddisfa uno dei seguenti criteri:
- Il costo per rendere inefficace il cifrario supera il valore dell'informazione cifrata
- Il tempo richiesto per rendere inefficace il cifrario supera l'arco temporale in cui l'informazione è utile
Crittografia simmetrica ed asimmetrica
Simmetrica
Viene usata una sola chiave per cifrare e decifrare il messaggio e deve quindi essere conosciuta sia da mittente che da destinatario. Il problema sta quindi nel condividere la chiave tra mittente e destinatario, procedimento che deve avvenire in modo sicuro.
Gli svantaggi principali risultano:
- Difficoltà nel mantenere la chiave segreta
- La segretezza dipende dai possessori della chiave
- Per N utenti bisognerebbe avere N chiavi distinte
- Difficoltà per la distribuzione sicura della chiave, cioè dello scambio
Asimmetrica
Nasce nel 1975 ed è anche chiamata crittografia a chiave pubblica. Risolve il problema della distribuzione sicura della chiave utilizzando una coppia di chiavi, una pubblica ed una privata.
Le due chiavi sono matematicamente correlate, i messaggi quindi codificati con la chiave privata possono essere decodificati solo con la chiave pubblica e viceversa. Anche conoscendo la chiave pubblica non è possibile risalire alla corrispondente chiave private se non con calcoli che richiedono tempi elevatissimi.
La coppia di chiavi viene generata con software opportuno.
Programmi utili
Esistono numerosi programmi di utilità che consentono di criptare file, dischi o dati in generale
Gestione file
- FileDecoder → crea file cifrati con password
- FileVault → crea file auto-estraenti e auto-decifranti
- Kleopatra → unisce alla crittografia la gestione dei certificati
- AxCrypt → permette di cifrare, comprimere, decifrare i file
- Kruptos → permette di cifrare file sia su PC che dispositivi mobili e generare file auto-decifranti
Disco Fisso
- CryptoExpert → crea dischi fissi virtuali cifrati
- VeraCrypt → crea dischi fissi cifrati
Dati
- Data Scrambler → trasforma i dati in un'immagine bitmap attraverso MD5
- PixelCryptor → software per cifrare dati attraverso immagini
Note
Cifratura di Cesare
- Tipo di operaio → sostituzione
- Numero di chiavi utilizzate → chiave singola
- Modo in cui il testo in chiaro è elaborato → cifrario a flusso