Si chiamano algoritmi simmetrici gli algoritmi con una chiave privata (una sola chiave cifra e decifra di conseguenza non può essere pubblica).
Algoritmo CAESAR
Usato da Giulio Cesare: si tratta di sostituire i caratteri dell'alfabeto del messaggio con caratteri dell'alfabeto del messaggio cifrato.
Debole perché lo spazio delle chiavi è troppo ridotto (tentando tutte le possibili combinazioni non sarà difficile trovare la soluzione)
Algoritmo Hill
Trasformo le lettere in numeri (ad es. codici ascii, oppure lettere a-z in 0-25)
Scelgo una dimensione d dei singoli messaggi crittati (suddivido in più messaggi per semplicità)
Scelgo una matrice quadrata invertibile (determinante <> 0) di rango d che chiamo M.
Moltiplicando M per i singoli messaggi ottengo il testo cifrato, ri-moltiplicando il testo cifrato diviso in messaggi per M-1 ri-ottengo il messaggio.
Questo sistema è poliafabetico (una lettera non verrà sempre sostituita con la stessa lettera, ma varierà a seconda della posizione)
Il lavoro del crittoanalista (Eve):
- Cryptotext only: conosce solo il testo cifrato
- Known plaintext: conosce almeno parte del testo originale e l'equivalente cifrato
- Chosen plaintext: può scegliere parte dei testi da cifrare. Tipico degli attacchi man-in-the-middle dove Eve prende il posto di uno dei comunicanti rispetto all'altro.
- Chosen ciphertext: Eve ha a disposizione il sistema decifrante: può scegliere sia il testo che verificarne la crittografia. Quindi può fare ipotesi sull'algoritmo decifrante e sulla chiave k.
È chiaro come sia molto semplice effettuare un attacco su un sistema monoalfabetico (basta verificare la frequenza attesa delle lettere e confrontarla con quella con cui compaiono). Comunque con un computer non è difficile nemmeno su un sistema polialfabetico.
Nessun commento:
Posta un commento