:: Cifrario Playfair ::
Torna alla pagina di Crittografia
Il cifrario Playfair è un cifrario a sostituzione che opera su bigrammi. In questo modo nel testo cifrato è possibile nascondere la frequenza delle singole lettere, ma non quella dei bigrammi: in altre parole, la struttura del testo rimane identica, e quindi un attacco statistico è valido contro Playfair.
Occorre innanzitutto creare una griglia 5 * 5 comprendente tutte le lettere dell'alfabeto. Sono 26: e infatti la i e la j vengono accorpate in un'unica casella.
Per creare sta griglia, occorre la chiave. Se la chiave, poniamo, è gatto, allora la griglia è composta così:
G A T O B C D E F H I K L M N P Q R S U V W X Y Z
Come vedete, ho scritto GATTO nella prima riga. Siccome la T è doppia, l'ho scritta una volta sola. Poi, dopo aver scritto GATTO, ho messo tutte le altre lettere (in ordine riga per riga) partendo dall'inizio dell'alfabeto e stando attento a non mettere in griglia le lettere già messe! Per intenderci, visto che la A l'avevo già messa, dopo GATO ho messo B.
Come dicevo sopra, si cifrano i bigrammi, cioè le coppie di lettere. Se ho un bigramma composto da lettere uguali, ad esempio BB, allora lo devo spezzare usando qualche altra lettera, ad esempio BXB.
Inoltre, siccome cifro i bigrammi, occorre che il numero di lettere del testo in chiaro sia PARI. Se non lo è, aggiungo una lettera alla fine, ad esempio la solita X o la Q o qualche altra lettera che compare poco frequentemente in italiano.
Bene. Ecco ora le regole:
Per esempio, per cifrare MA con la griglia:
G A T O B C D E F H I K L M N P Q R S U V W X Y Z
Come vedete, si forma un quadrato tra M ed A:
Quindi: MA => KO
ATTENZIONE! Devo rispettare l'ordine delle lettere nel bigramma: ciò vuol dire che il bigramma AM viene cifrato come OK.
Voglio cifrare OB
G A T O B C D E F H I K L M N P Q R S U V W X Y Z
Vedete che T e O stanno sulla stessa riga. Secondo le regole esposte sopra, devo sostituirle con le lettere che stanno rispettivamente a destra:
Quindi, OB => BG
Voglio cifrare QW. Avrete capito che devo andare giù: la Q diventa W, e la W diventa A.
La decifratura avviene al contrario:
Non faccio esempio che tanto è facile!:)