✖

Cifrario di Vigenère

Il cifrario di Vigenère è un celebre cifrario che usa più alfabeti cifranti, grazie ai quali resiste molto meglio alla classica analisi delle frequenze.

Come funzionano la cifratura e la decifratura

Il procedimento di cifratura si può spiegare con il cifrario di Cesare. La chiave del cifrario di Vigenère è una parola qualsiasi formata da lettere dell’alfabeto inglese, cioè a–z. La chiave può essere, per esempio, la parola «bcf». La cifratura procede così: scriviamo il testo in chiaro e subito sotto la chiave, che ripetiamo finché non ha la stessa lunghezza del testo in chiaro. Per il testo in chiaro «buongiorno» sarebbe così:

Testo in chiaro:buongiorno
Chiave:bcfbcfbcfb

Ora cifreremmo tutte le lettere del testo in chiaro con il cifrario di Cesare usando la chiave corrispondente, cioè quella che sta nella stessa colonna. Il cifrario di Cesare è un cifrario a scorrimento: la chiave indica di quante lettere dobbiamo spostare la lettera del testo in chiaro, a partire dalla lettera «a». La lettera «b», per esempio, indica uno scorrimento di una lettera nell’alfabeto «verso destra». La lettera «d» indica uno scorrimento di tre lettere verso destra. La parola «ciao», con il cifrario di Cesare e la chiave «b», si cifra in «djbp».

Mentre nel cifrario di Cesare cifriamo tutto il testo con una sola lettera, nel cifrario di Vigenère di solito lo cifriamo con più lettere. La cifratura del testo «buongiorno» con la chiave «bcf» darebbe quindi questo risultato:

Testo in chiaro:buongiorno
Chiave:bcfbcfbcfb
Testo cifrato:cwtoinptsp

La prima lettera «b» l’abbiamo cifrata con la chiave «b», cioè con uno scorrimento di una lettera, e il risultato è quindi la lettera «c». La lettera «u» l’abbiamo cifrata con la chiave «c», cioè con uno scorrimento di due lettere, e il risultato è la lettera «w». E così via.

Si decifra esattamente allo stesso modo, solo che invece di spostare le lettere «verso destra» le spostiamo «verso sinistra».

Strumento online per cifrare e decifrare con il cifrario di Vigenère

Testo:
Chiave:

Il quadrato di Vigenère

L’intero procedimento di cifratura e decifratura si può spiegare anche con il quadrato di Vigenère, uno strumento che possiamo usare durante la cifratura. Il quadrato di Vigenère è una tabella con 26 righe e 26 colonne. In ogni riga è scritto l’alfabeto, spostato ogni volta di una lettera rispetto alla riga precedente:

Con un quadrato di Vigenère così fatto, la cifratura procederebbe in questo modo: prenderemmo una lettera del testo in chiaro e troveremmo la riga con questa lettera. Poi prenderemmo la lettera della chiave e troveremmo la colonna. La lettera del testo cifrato sarebbe la lettera all’incrocio tra la riga e la colonna corrispondenti.

Nell’esempio precedente abbiamo cifrato «buongiorno» con la chiave «bcf». Troviamo quindi la riga che comincia con «b» e la colonna che comincia con «b». All’incrocio di questa riga e di questa colonna c’è la lettera «c», la lettera risultante del testo cifrato.

Per decifrare procederemmo al contrario. Se volessimo decifrare la lettera «c» con la chiave «b», troveremmo la colonna «b», in essa troveremmo la riga che contiene la lettera «c» e la lettera all’inizio di questa riga sarebbe la lettera del testo in chiaro.

Il punto di forza del cifrario di Vigenère

Perché ai suoi tempi il cifrario di Vigenère era così forte? Perché rendeva molto più difficile la classica analisi delle frequenze. Nel cifrario di Cesare, per esempio, due lettere uguali del testo in chiaro vengono cifrate nelle stesse lettere del testo cifrato. Nel cifrario di Vigenère invece questo non vale, almeno non sempre.

Se cifrassimo il testo «Bravo bravo bravo» con la chiave «stan», otterremmo il testo cifrato «tkaig urnnh besoo». Vediamo che, anche se il testo in chiaro contiene tre parole uguali, nel testo cifrato ogni parola ha un aspetto completamente diverso. La parola centrale, «urnnh», contiene addirittura due lettere «n», che però derivano da due lettere diverse del testo in chiaro: «av».

Scelta della chiave

La sicurezza del cifrario di Vigenère dipende in modo molto significativo dalla scelta della chiave. Mentre nel cifrario di Cesare non importava quale lettera scegliessimo, purché fosse diversa da «a», nel cifrario di Vigenère chiavi diverse portano a livelli di sicurezza molto diversi.

  • Una chiave formata da una sola lettera riduce il cifrario di Vigenère di nuovo al cifrario di Cesare.
  • Una chiave formata da più lettere uguali, per esempio «mmm», porta di nuovo al cifrario di Cesare.
  • Un testo cifrato con una chiave corta sarà molto facile da decrittare.
  • Anche un testo cifrato abbastanza lungo, ottenuto con una chiave non cortissima (intorno ai cinquanta caratteri), sarà molto facile da decrittare: con un computer bastano pochi secondi.
  • Un testo cifrato con una chiave completamente casuale e lunga quanto il testo stesso sarà impossibile da decrittare.