5.0 KiB
La Crittografia Simmetrica
La crittografia simmetrica affonda le sue radici nell'antichità, a testimonianza del fatto che l'uomo ha sempre cercato un modo per rendere incomprensibili le proprie informazioni riservate agli occhi degli estranei.
Il suo funzionamento è molto intuitivo e prevede due funzioni (dette complessivamente cifrario): una di encrypt (cifratura) e una di decrypt (decifratura). Entrambe adoperano la medesima chiave all'interno dell'algoritmo; ciò significa che l'intera sicurezza dei dati si fonda esclusivamente sulla segretezza della chiave stessa.
Cifratura
Per ottenere il testo cifrato si applica la funzione E al messaggio usando la chiave K:
C = E(K, M)
Decifratura
Per riottenere il messaggio originale si applica la funzione D al testo cifrato usando la medesima chiave K:
M = D(K, C)
Proprietà di Correttezza
L'algoritmo è valido se e solo se la decifratura annulla esattamente la cifratura:
D(K, E(K, M)) = M
Classificazione dei Cifrari Classici
Prima di addentrarci nella storia, è fondamentale distinguere due macro-categorie di cifrari:
- Cifrari a Sostituzione: Consistono nel sostituire ogni carattere del testo in chiaro (plaintext) con un altro carattere di un determinato alfabeto, basandosi su un criterio stabilito dall'algoritmo.
- Cifrari a Trasposizione: Consistono nel creare un anagramma del testo in chiaro seguendo uno schema geometrico, senza modificare i caratteri originali o la loro frequenza, ma cambiandone solo la posizione.
L'Evoluzione Storica
1. La Scitale Spartana (V secolo a.C.)
La prima nota storica di crittografia (in questo caso per trasposizione) risale alla Scitale Spartana.
Il suo funzionamento era molto semplice: prima di scrivere il messaggio, gli efori avvolgevano a spirale una striscia di pergamena lunga e stretta attorno a una bacchetta (scitale). Questa bacchetta era identica, per lunghezza e diametro, a quella fornita in precedenza al destinatario.
Dopo aver fatto aderire la pergamena alla bacchetta senza lasciare spazi vuoti o sovrapposizioni, vi scrivevano il messaggio in senso longitudinale. Una volta srotolata, la striscia mostrava solo lettere sparse e scollegate, risultando incomprensibile a eventuali intercettatori. Solo il destinatario, riavvolgendo la pergamena sulla bacchetta gemella, poteva ricostruire l'ordine originario delle lettere.
2. Il Cifrario di Cesare (Antica Roma)
Il Cifrario di Cesare è uno dei più antichi algoritmi di tipo sostitutivo (sostituzione monoalfabetica). Ogni lettera del testo in chiaro viene sostituita dalla lettera che si trova un certo numero di posizioni dopo nell'alfabeto (cifrario a scorrimento). In particolare, Giulio Cesare utilizzava uno spostamento fisso di 3 posizioni.
La vulnerabilità dei sistemi monoalfabetici
Dall'XI secolo, con la scoperta dell'analisi delle frequenze da parte del matematico arabo Al-Kindi, tutti i cifrari a sostituzione monoalfabetica sono diventati facili da violare. Le loro vulnerabilità principali sono:
- Numero di chiavi limitato: Facilmente attaccabile tramite brute-force (tentando tutte le combinazioni).
- Invarianza delle frequenze: Le lettere cifrate mantengono la stessa frequenza statistica delle lettere della lingua originale (es. in italiano la 'E' e la 'A' compaiono più spesso), permettendo di indovinare la chiave.
3. Il Cifrario di Alberti (1467)
Per superare i limiti dell'analisi delle frequenze si è giunti al cifrario polialfabetico di Leon Battista Alberti. A differenza dei metodi precedenti, non usava lo stesso alfabeto segreto per tutto il messaggio, ma lo cambiava continuamente.
Lo strumento si basava su due dischi concentrici ruotabili:
- Disco Esterno (Fisso): Conteneva l'alfabeto in chiaro e alcuni numeri.
- Disco Interno (Mobile): Conteneva un alfabeto disordinato per il testo segreto.
Il funzionamento prevedeva tre passi:
- Allineamento iniziale: Si decideva una chiave di partenza (es. allineare la
Aesterna con lakinterna). - Scrittura: Si cercava la lettera in chiaro sul disco esterno e si scriveva la corrispondente sul disco mobile.
- Il colpo di genio: Ogni tanto il mittente inseriva una lettera maiuscola nel testo. Questa indicava al ricevente di ruotare il disco interno su una nuova combinazione, cambiando completamente l'alfabeto da quel punto in poi.
4. Il Cifrario di Vigenère
Formulato successivamente, nacque come una variante semplificata del concetto di Alberti. Può essere considerato una generalizzazione del cifrario di Cesare: invece di spostare le lettere di un numero fisso di posti, lo spostamento varia carattere per carattere in base a una parola chiave (detta anche verme). La chiave viene scritta ripetutamente sotto il messaggio per determinare lo scorrimento di ogni singola lettera.
La Crittografia Simmetrica Moderna: DES e AES
Oggi i cifrari storici sono obsoleti. La crittografia moderna si affida ad algoritmi matematici complessi tali:
- DES
- Triple DES
- AES.