martedì, marzo 20, 2007

Crittografia: crittosistemi monoalfabetici

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: