This commit is contained in:
@@ -1,21 +1,77 @@
|
||||
# La Crittografia Simmetrica
|
||||
|
||||
La crittografia **simmetrica**, affonda le sue radici nell'antichità come prova che l'uomo ha sempre cercato
|
||||
in qualche modo di **rendere incomprensibili** dall'esterno alcune delle sue informazioni.
|
||||
|
||||
Il suo funzionamento è molto intuitivo, prevede due funzioni una di encrypt e una di decrypt (dette spesso cifrario
|
||||
)che adoperano la medesima **chiave** nell'algoritmo, ciò significa quindi che l'intera sicurezza dei dati si fonda sulla
|
||||
segretezza della chiave.
|
||||
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.
|
||||
|
||||
Distinguiamo prima di addentrarci due tipi di cifrari:
|
||||
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:
|
||||
1. **Numero di chiavi limitato:** Facilmente attaccabile tramite *brute-force* (tentando tutte le combinazioni).
|
||||
2. **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:
|
||||
1. **Allineamento iniziale:** Si decideva una chiave di partenza (es. allineare la `A` esterna con la `k` interna).
|
||||
2. **Scrittura:** Si cercava la lettera in chiaro sul disco esterno e si scriveva la corrispondente sul disco mobile.
|
||||
3. **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**.
|
||||
|
||||
* Cifrari a **Sostituizione**: consistono nel sostituire ogni carattere del plaintext con un altro carattere di un determinato alfabeto, basandosi su un criterio dettato dall'algoritmo
|
||||
* Cifrari a **Trasposizione**: consistono nel creare un **anagramma** del plaintext seguendo uno schema geometrico, senza modificare quindi i caratteri
|
||||
|
||||
La prima nota di crittografia simmetrica risale al V secolo a.C, la **Scitale Spartana**
|
||||
|
||||
* **Crittografia Simmetrica (a chiave segreta):** Mittente e destinatario usano la *stessa chiave* sia per cifrare che per decifrare.
|
||||
* *Pro:* Molto veloce.
|
||||
* *Contro:* Il problema dello scambio sicuro della chiave (come farla avere al destinatario senza che venga intercettata).
|
||||
* *Esempi:* DES, AES.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user