cerca
Cifrario Playfair
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Return to Cifrario Playfair  (Edit)

Uni.CifrarioPlayfair History

Hide minor edits - Show changes to output

Added lines 1-64:
(:title Cifrario Playfair:)
%titolo%''':: Cifrario Playfair ::'''

[[Torna alla pagina di Crittografia -> Crittografia]]

!!Che cos'è
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.

!!Come funziona
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:
* Inviduo le due lettere del mio bigramma nella mia griglia: esse definiranno un '''rettangolo''', in cui una lettera sta in un angolo e l'altra nell'angolo opposto. Devo prendere, per ogni lettera del bigramma, quella che sta all'altra estremità del lato orizzontale del quadrato (l'esempio sotto chiarificherà, è più facile mostrarlo che nemmeno spiegarlo)
* due lettere che stanno sulla stessa riga verranno sostituite dalle lettere che stanno immediatamente a destra rispetto ad ognuna di esse, e ocio che se si esce a destra si rientra da sinistra, sempre sulla stessa riga
* due lettere che stanno sulla stessa colonna verranno sostituite dalle lettere che stanno immediatamente sotto, e anche qui se si esce da sotto si rientra da sopra nella stessa colonna

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:
* la M viene cifrata con la lettera che sta lungo il suo lato orizzontale, sotto la A: in questo caso, la '''K'''
* la A viene cifrata con la lettera che sta lungo il suo lato orizzontale, sopra la M, ovvero la '''O'''
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:
* a destra della O c'è la B
* a destra della B c'è il nulla => giro intorno, e capito alla G
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:
* le lettere sulla stessa riga vengono sostituite dalle lettere che stanno a sinistra
* le lettere sulla stessa colonna vengono sostituite dalle lettere che stanno sopra
* le lettere che formano un quadrato vengono sostituite dalle lettere all'altro estremo del lato orizzontale del quadrato su cui si trova la lettera.

Non faccio esempio che tanto è facile!:)

[[Torna alla pagina di Crittografia -> Crittografia]]