Il metodo di Playfair

di Fabrizio Sinopoli

scritto il

Inventato nel 1854 da Sir Charles Wheatstone (anche se porta il nome del suo amico, il barone Playfair di St. Andrews), il metodo di Playfair è indubbiamente il metodo di sostituzione a blocchi (“mutiple-letter encryption“) più conosciuto.

L’algoritmo si basa sull’uso di un vettore 5×5 di lettere, costruita partendo da una parola chiave.

Vediamone un esempio:

S E C U R

I T Y A B

D F G H K

L M N O P

Q V W X Z

(Nota: la lettera J viene rappresentata da I)

La sostituzione avviene nel seguente modo:

  • le parole del testo in chiaro vengono legate le une alle altre, introducendo una X al posto degli eventuali spazi;
  • i caratteri vengono considerati a coppie;
  • se una coppia di lettere individua un rettangolo (per esempio, IC) viene sostituita dai vertici residui (ossia, SY);
  • se le due lettere appartengono alla stessa riga (per esempio, DH), vengono sostituite con le lettere immediatamente a destra (cioè, FK);
  • se le due lettere appartengono alla stessa colonna (a esempi, YN) vengono sostituite dalle lettere immediatamente sottostanti (ossia, GW);
  • una coppia di lettere ripetuta (per esempio, GG) viene sostituta con la coppia di lettere sottostanti (NN).

Facciamo un piccolo esempio e consideriamo la frase: “era un notte buia e tempestosa”. Seguendo quanto detto sopra, dividiamo la frase in blocchi di due lettere, inserendo le X dove necessario:

Testo in chiaro: er ax un ax no tt ex bu ia xe xt em pe st os ax

Testo codificato: CS HU OC HU OP FF VU RA TB UV AV TU RM EI UL HU

A questo punto, possiamo raccogliere in blocchi (per esempio, di lunghezza 5) il testo codificato, ottenendo così:

CSHUO CHUOP FFVUR ATBUV AVTUR MEIUL HU