Cifratura Playfair
From UIC
Cifratura Playfair
Contents |
| Infos | |
|---|---|
| Author: | ev0 |
| Email: | evobboy@yahoo.it |
| Website: | |
| Date: | 15/06/2005 (dd/mm/yyyy) |
| Level: |
|
| Language: | Italian |
| Comments: | The highest knowledge is to know that we are surrounded by mystery |
Introduzione
Eh eh eh mi è venuta voglia di scrivere questo piccolo essay.
Cominciamo subito.
Tools
- Cryptool
- Playn
- Playfair
Tutti i tools sono reperibili qui: http://www.knlsoft.com
Essay
La cifratura playfair è una di quelle cifrature cosiddette "storiche", nasce nella lontana inghilterra del 1845 dalla mente di uno scenziato di nome Charles Wheatstone, allora, perché si chiama playfair?
Perché il Barone Playfair convinse il governo Inglese ad usarlo per scopi ufficiali e così il suo nome venne dato a questa cifratura.
Dopo la parentesi storica passiamo a quello che realmente ci interessa, questa cifratura si basa sulla codifica di blocchi attraverso la sostituzione di digrammi. Grazie a programmini fatti a posta possiamo decrittarlo abbastanza in fretta, c'è chi riesce anche a farlo solamente con carta e penna (come il nostro +Mala).
Il testo che vogliamo criptare dobbiamo prima sistemarlo in maniera apposita, cioè in blocchi di due lettere, e ogni digramma non deve essere composto dalla stessa lettera altrimenti verrà sostituita da X o Z, facciamo un esempio:
UN SALUTO A TUTTI QUELLI DELLA UIC LLOLLL
Diventa:
UN SA LU TO AT UT XT IQ UE LZ LI DE LX LA UI CL XL OL XL ZL
Cambiando ovviamente in caso si ripeta più di due volte la lettera prima usiamo X poi Z e se non sono pari aggiungiamo una lettera a piacere.
Adesso viene la nostra chiave, si prepara utilizzando un parola chiave e arrangiandola in modo che non si ripetano all'interno le lettere, e in seguito si aggiungono le lettere dell'alfabeto rimanenti in ordine alfabetico, la I e la J vengono considerate uguali quindi abbiamo 25 lettere arrangiate in un quadrato di 5 x 5.
La chiave:
- EVOTHEBESTILPIUFIGODELWEST
Diventa:
- EVOTHBSILPUFGDWACKMNQRXYZ
Adesso cifriamo il testo. La cifratura avviene attraverso delle semplici regole:
Se le lettere sono in una riga e in una colonna diversa, viene definita da esse una "sottomatrice":
B <span style="color: #0000ff;">S</span> <span style="color: #ff0000;">I L</span> P
U <span style="color: #ff0000;">F G D</span> W
A <span style="color: #ff0000;">C K</span> <span style="color: #0000ff;">M</span> N
Q R X Y Z
Per esemio SM viene cifrato in LC, questo perché il primo carattere cifrato è quello che stà nella stessa colonna del primo carattere da cifrare e il secondo quello all'angolo opposto della matrice. Le lettere nella stessa riga vengono sostituite dalla lettera che si trova subito alla loro destra. Mentre le lettere nella stessa colonna vengono sostituite in modo simile dalla lettera che stà immediatamente sotto (o se girassimo di 90° la matrice in senso orario, alla loro destra). In questo modo OI diventa IG, TY diventa LT, BS diventa SI, SP diventa IB, DK diventa GM e così via. Quindi il nostro:
UN SA LU TO AT UT XT IQ UE LZ LI DE LX LA UI CL LO LX LZ LC
Diventerà:
WABCBDHTMEDEYOBXABPYPLUTIYBMGBMSYIT IYIYP
Per la decifrazione dobbiamo lavorare in modo esattamente inverso a quello che abbiamo fatto in precedenza quindi verso sinistra. L'attacco migliore a questo tipo di cifratura è attraverso parole conosciute (plain text attack), cercando una corrispondenza nel testo e cercando così di ottenere parte della chiave, man mano si cerca di dare un senso al testo fino ad ottenere la chiave originale. Altro attacco, meglio se combinato con questo, e valido soprattutto su testi cifrati abbastanza lunghi, è quello della frequenza dei trigrammi in cui si sfrutta la frequenza media con cui appare un trigramma in un determinato linguaggio. Ho visto anche un programma che sfruttava una tecnica denominata "simulated annealing" ma non so dirvi niente su questo, se voi ne sapete di più ditemelo. Ed ecco qui che termina questo piccolo essay, e spero sia utile a qualcuno... Eheheh a qualcuno sarà utile...
I saluti? Eccoli qui:
BCBDHTEDOYOLEATBYILGSKQCKMLOPKBNYVSKTICQOUVTLRYOTAUOGYGTAHEAO QEKNVOQOBDYGIKLHTNCBHXSBFIGXSGYMDVBNVLKLIHKTGLKHAOLKCHTKLIBBKA VWABCBDHTKUTAPKBOKUPLMBVYLGLOQCWFXPHKBGCPMBDEHKBQSPCKMGTAH
Categories: Cryptography | Ev0 | 2005