Cifrario Playfair

Da Wikipedia, l'enciclopedia libera.
Il sistema Playfair fu inventato da Charles Wheatstone, che lo descrisse per primo nel 1854.

Il cifrario Playfair o quadrato di Playfair è una tecnica di cifratura simmetrica manuale e fu il primo cifrario polialfabetico letterale. Lo schema fu inventato nel 1854 dal fisico inglese Sir Charles Wheatstone ma prende il nome del suo amico Lord Playfair Barone di St. Andrews, che cercò di divulgarne l'uso.

La tecnica cifra coppie di lettere (digrafi), invece che una singola lettera come nel semplice cifrario a sostituzione di Vigenère allora in uso. Playfair è quindi significativamente più difficile da forzare poiché l'analisi delle frequenze usata per i semplici cifrari a sostituzione non funzionano con esso. L'analisi delle frequenze può essere ancora intrapreso, ma sono possibili 600 digrafi [1] invece di 26 monografi. L'analisi della frequenza dei digrafi è possibile, ma considerevolmente più difficile. Inoltre le frequenze relative delle singole lettere hanno un intervallo molto più ampio di quello dei digrafi, rendendo l’analisi delle frequenze ulteriormente complicata. Per questi motivi, a suo tempo, il codice Playfair era considerato inviolabile.

Storia[modifica | modifica sorgente]

Lord Playfair, che promosse l'uso del codice.

Nonostante l'invenzione fu di Wheatstone, il codice divenne noto come cifrario di Playfair dopo che Lord Playfair ne promosse l'uso nelle alte sfere governative britanniche mostrandolo per la prima volta nel 1854 durante una cena organizzata da Lord Granville alla presenza di Lord Palmerston, allora ministro degli esteri inglese. La prima descrizione documentata del codice si trova in un documento firmato da Wheatstone il 26 marzo 1854.

Il codice fu rifiutato dal British Foreign Office perché ritenuto troppo complesso. Quando Wheatstone si offrì di dimostrare che tre su quattro ragazzi della scuola nelle vicinanze sarebbero stati in grado di imparare ad usarlo in 15 minuti il sottosegretario del Foreign Office rispose "È molto probabile, ma non si riuscirà mai ad insegnarlo a degli addetti".

Il codice fu usato dalle forze militari britanniche nella Seconda Guerra Boera e nella Prima guerra mondiale e dall'Australia e dalla Germania durante la Seconda guerra mondiale. Questo grazie al fatto che il codice è ragionevolmente veloce da usare e non richiede speciali equipaggiamenti. Il tipico scenario del suo uso è la protezione di importanti, ma non critici, segreti durante un combattimento in atto in modo tale che quando i crittanalisti nemici siano riusciti a forzare il messaggio, l'informazione sia inutile.

Il Playfair non è più usato dalle forze militari grazie all'avvento dei dispositivi digitali per la cifratura. Il codice è oggi considerato insicuro per ogni uso in quanto i moderni computer lo possono forzare in pochi secondi.

La prima pubblicazione della soluzione del cifrario Playfair fu in un pamphlet di 19 pagine del luogotenente Joseph O. Mauborgne, pubblicato nel 1914.

Funzionamento[modifica | modifica sorgente]

Il cifrario Playfair si basa sull'uso di una matrice 5×5 contenente una parola chiave. La memorizzazione della chiave e 4 semplici regole sono tutto ciò che è richiesto per creare la tabella 5 per 5 e usare il codice.

La tabella è costruita introducendo le lettere della parola chiave (eliminando le lettere duplicate), e poi riempiendo gli spazi rimanenti con le lettere non utilizzate dell'alfabeto, in ordine. Essendo 26 le lettere dell’alfabeto inglese e 25 gli spazi nella matrice, occorre escludere una lettera: generalmente viene esclusa la "Q", ma alcune versioni mettono la "I" e la "J" nello stesso spazio mentre altre escludono la "W", che se necessario può essere cifrata con una doppia "V". La chiave può essere scritta a partire dalla prima riga della tabella, da sinistra a destra, o con un altro percorso, per esempio a spirale iniziando dall'angolo in alto a sinistra e finendo nel centro. La parola chiave insieme alla convenzione per riempire la tabella 5 per 5 formano la chiave di cifratura.

Per cifrare un messaggio, si deve dividere il messaggio in digrafi (gruppi di 2 lettere) in modo che, per esempio "Messaggio Segreto" diventi "ME SS AG GI OS EG RE TO". Le lettere di un digrafo individuano un rettangolo nella tabella che ha per vertici opposti le due lettere. Le regole da applicare per ogni coppia di lettere del testo in chiaro sono 4:

  • Se entrambe le lettere sono le stesse nel digrafo (o se la lettera è da sola), si aggiunga un "X" dopo la prima lettera. Cifrare la nuova coppia di lettere e continuare. Alcune varianti usano la "Q" al posto della "X", ma ogni lettera poco comune andrebbe bene.
  • Se le lettere appaiono nella stessa riga della tabella, vengono codificate con le lettere alla propria destra (considerando la tabella ciclica).
  • Se le lettere appaiono nella stessa colonna della tabella, vengono codificate con le lettere immediatamente sotto (considerando la tabella ciclica).
  • Se le lettere non sono nella stessa riga o colonna, si codificano con le lettere nelle stesse righe rispettivamente ma negli angoli opposti del rettangolo definito dalla coppia originale. L'ordine è importante, la prima lettera della coppia codificata è quella che appartiene alla stessa riga della prima lettera nel messaggio in chiaro.

Per decifrare, si usano le inverse di queste quattro regole (eliminando ogni "X" (o "Q") che è necessaria nel messaggio finale).

Esempio[modifica | modifica sorgente]

Usando "esempio playfair" come parola chiave, la tabella appare così:

E S M P I
O L A Y F
R B C D G
H K N Q T
U V W X Z

Cifriamo il messaggio "Le truppe sbarcheranno a Bari":

LE TR UP PE SB AR CH ER AN NO AB AR IX
                               
  1. La coppia LE forma un rettangolo -> rimpiazzare con OS
  2. La coppia TR forma un rettangolo -> rimpiazzare con HG
  3. La coppia UP forma un rettangolo -> rimpiazzare con XE
  4. La coppia PE si trova nella stessa riga -> rimpiazzare con IS
  5. La coppia SB si trova nella stessa colonna -> rimpiazzare con LK
  6. La coppia AR forma un rettangolo -> rimpiazzare con OC
  7. La coppia CH forma un rettangolo -> rimpiazzare con RN
  8. La coppia ER si trova nella stessa colonna -> rimpiazzare con OH
  9. La coppia AN si trova nella stessa colonna -> rimpiazzare con CW
  10. La coppia NO forma un rettangolo -> rimpiazzare con HA
  11. La coppia AB forma un rettangolo -> rimpiazzare con LC
  12. La coppia AR forma un rettangolo -> rimpiazzare con OC
  13. La coppia IX forma un rettangolo -> rimpiazzare con PZ
OS HG XE IS LK OC RN OH CW HA LC OC PZ

Quindi il messaggio "Le truppe sbarcheranno a Bari" una volta cifrato diventa " OSHGXEISLKOCRNOHCWHALCOCPZ".

Chiarimento tramite immagini[modifica | modifica sorgente]

Ammettiamo di voler cifrare il digrafo OR. Esistono tre casi generali:

1) Digrafo nella stessa riga
* * * * *
* O Y R Z
* * * * *
* * * * *
* * * * *

Otteniamo OR -> YZ

2) Digrafo nella stessa colonna
* * O * *
* * B * *
* * * * *
* * R * *
* * Y * *

Otteniamo OR -> BY

3) Lettere in righe e colonne diverse, ai vertici di un rettangolo
Z * * O *
* * * * *
* * * * *
R * * X *
* * * * *

Otteniamo OR -> ZX

Nella cultura di massa[modifica | modifica sorgente]

  • Nel film Il mistero delle pagine perdute (National Treasure: Book of Secrets), un indizio utile a scoprire il luogo in cui è custodito un tesoro è cifrato utilizzando il codice Playfair. In una delle scene iniziali del film a Thomas Gates, trisnonno del protagonista Benjamin Fraklin Gates, viene chiesto di decifrare questo messaggio in codice :
ME IK QO TX CQ TE ZX CO MW QC TE HN FB IK ME HA KR QC UN GI KM AV  

Risolvendo l'enigma "The debt that all men pay", che tradotto significa "Il debito che ogni uomo paga", Thomas Gates ottiene la chiave della matrice: DEATH (morte).

D E A T H
B C F G I
K L M N O
P Q R S U
V W X Y Z

Il codice può quindi essere facilmente decifrato: LA BO UL AY EL AD YW IL LX LE AD TO CI BO LA TE MP LE SO FG OL DX

"Laboulaye Lady will lead to Cibola temples of gold", che tradotto significa "La signora di Laboulaye condurrà ai templi d'oro di Cibola"

Note[modifica | modifica sorgente]

  1. ^ non sono ammessi duplicati di lettere, e una lettera è omessa (Q) o combinata (I/J), quindi il conto è 600 = 25×24.

Bibliografia[modifica | modifica sorgente]

  • (EN) Smith M (1998) Station X: The Codebreakers of Bletchley Park, Channel 4 Books/Macmillan, London (ISBN 0-7522-2189-2)
  • (EN) Mao W (2004) Modern Cryptography - Theory and Practice, Prentice Hall, New Jersey
  • (FR) Karpman G (2006) Cryptologie, La Vauzelle
  • Giustozzi C, Monti A, Zimuel E (1999) Segreti, spie, codi[ci]frati, Apogeo, Milano (ISBN 88-7303-483-7)
  • Ferragina P, Luccio F (2001) Crittografia - Principi Algoritmi Applicazioni, Bollati Boringhieri, Torino

Collegamenti esterni[modifica | modifica sorgente]

crittografia Portale Crittografia: accedi alle voci di Wikipedia che trattano di crittografia