Il cifrotesto è un testo cifrato trasformato dal testo in chiaro usando un algoritmo di cifratura. Il testo cifrato non può essere letto finché non è stato convertito in testo in chiaro (decifrato) con una chiave. Il cifrario di decrittazione è un algoritmo che trasforma di nuovo il testo cifrato in testo in chiaro.
Il termine cifrario è talvolta usato come sinonimo di testo cifrato. Tuttavia, si riferisce al metodo di crittografia piuttosto che al risultato.
Tipi di cifrari
Ci sono vari tipi di cifrari, tra cui:
- cifrari di sostituzione. Sostituisce bit, caratteri o blocchi di caratteri nel testo in chiaro con bit, caratteri o blocchi di caratteri alternativi per produrre il testo cifrato. Un cifrario di sostituzione può essere monoalfabetico o polialfabetico:
- Un singolo alfabeto è usato per cifrare l’intero messaggio in chiaro. Per esempio, se la lettera A è cifrata come la lettera K, questo sarà lo stesso per l’intero messaggio.
- Una sostituzione più complessa che usa un alfabeto misto per cifrare ogni bit, carattere o blocco di caratteri di un messaggio in chiaro. Per esempio, la lettera A può essere codificata come la lettera K per una parte del messaggio, ma successivamente potrebbe essere codificata come la lettera W.
- Cifre di trasposizione. A differenza dei cifrari a sostituzione che sostituiscono le lettere con altre lettere, i cifrari a trasposizione mantengono le lettere uguali, ma riordinano il loro ordine secondo un algoritmo specifico. Per esempio, in un semplice cifrario a trasposizione colonnare, un messaggio potrebbe essere letto orizzontalmente ma sarebbe scritto verticalmente per produrre il testo cifrato.
- Cifrari poligrafici. Sostituendo una lettera con un’altra lettera, un cifrario poligrafico esegue sostituzioni con due o più gruppi di lettere. Questo maschera la distribuzione di frequenza delle lettere, rendendo gli attacchi di analisi di frequenza molto più difficili.
- Cifrari a permutazione. In questo cifrario, le posizioni del testo in chiaro sono spostate in un sistema regolare in modo che il testo cifrato costituisca una permutazione del testo in chiaro.
- Crittografia a chiave privata. In questa cifratura, il mittente e il destinatario devono avere una chiave pre-condivisa. La chiave condivisa è tenuta segreta da tutte le altre parti ed è usata per la crittografia, così come per la decrittografia. Questa crittografia è anche conosciuta come “algoritmo a chiave simmetrica”.
- Crittografia a chiave pubblica. In questo cifrario, due chiavi diverse – chiave pubblica e chiave privata – sono usate per la crittografia e la decrittografia. Il mittente usa la chiave pubblica per eseguire la crittografia, ma la chiave privata è tenuta segreta dal ricevitore. Questo è anche conosciuto come “algoritmo a chiave asimmetrica.”
Usi del testo cifrato
I cifrari simmetrici, che sono tipicamente usati per proteggere le comunicazioni online, sono incorporati in molti protocolli di rete diversi per essere usati per criptare gli scambi. Per esempio, Transport Layer Security usa i cifrari per crittografare i dati del livello applicazione.
Le reti private virtuali che collegano lavoratori remoti o filiali remote nelle reti aziendali usano protocolli con cifrari simmetrici per proteggere le comunicazioni di dati. I cifrari simmetrici proteggono la privacy dei dati nella maggior parte delle reti Wi-Fi, nell’online banking, nei servizi di e-commerce e nella telefonia mobile.
Altri protocolli, tra cui secure shell, OpenPGP e Secure/Multipurpose Internet Mail Extensions usano la crittografia asimmetrica per crittografare e autenticare gli endpoint, ma anche per scambiare in modo sicuro le chiavi simmetriche per crittografare i dati della sessione. Per ragioni di prestazioni, i protocolli spesso si affidano a cifrari per crittografare i dati di sessione.
Attacchi di testo cifrato
L’attacco di testo cifrato noto, o attacco di solo testo cifrato (COA), è un metodo di attacco usato nella crittoanalisi quando l’attaccante ha accesso a un insieme specifico di testo cifrato. Tuttavia, in questo metodo, l’attaccante non ha accesso al corrispondente testo in chiaro, cioè ai dati che vengono trasmessi o memorizzati in chiaro. Il COA ha successo quando il testo in chiaro corrispondente può essere determinato da un dato insieme di testo cifrato. A volte, la chiave usata per cifrare il testo cifrato può essere determinata da questo attacco.
In un attacco di cifratura scelta (CCA), l’attaccante può far decifrare alla vittima (che conosce la chiave segreta) qualsiasi testo cifrato e rimandare il risultato. Analizzando il testo cifrato scelto e il corrispondente testo in chiaro ricevuto, l’attaccante cerca di indovinare la chiave segreta usata dalla vittima. L’obiettivo della CCA è quello di ottenere informazioni che diminuiscano la sicurezza dello schema di crittografia.
L’attacco a chiave correlata è una qualsiasi forma di crittoanalisi in cui l’attaccante può osservare il funzionamento di un cifrario sotto diverse chiavi i cui valori l’attaccante non conosce inizialmente. Tuttavia, c’è qualche relazione matematica che collega le chiavi che l’attaccante conosce.
Esempio di testo cifrato
Uno dei primi e più semplici cifrari è il cifrario Caesar, che usa un algoritmo a chiave simmetrica. La chiave agisce come un segreto condiviso tra due (o più) parti che può essere usato per inviare informazioni segrete che nessuno può leggere senza una copia della chiave.
Il cifrario di Cesare è un cifrario di sostituzione in cui ogni lettera del testo in chiaro è “spostata” di un certo numero di posti nell’alfabeto. Per esempio, con uno spostamento di 1, A sarebbe B, B sarebbe sostituito da C, ecc. Il metodo prende il nome da Giulio Cesare, che si dice l’abbia usato per comunicare con i suoi generali.
Ecco un esempio dei passi di cifratura e decifratura coinvolti nel cifrario di Cesare. Il testo da cifrare è “difendere il muro est del castello”, con uno shift (chiave) di 1.
- Testo semplice: difendere il muro est del castello
- Testo cifrato: efgfoe uif fbtu xbmm pg uif dbtumf