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