|
Playfair Cipher | ||
|
Data |
by ev0 |
|
|
15/06/2005 |
Published by Quequero | |
|
THE HIGHEST KNOWLEDGE IS TO KNOW THAT WE ARE SURROUNDED BY MYSTERY |
Bell'idea evo! |
THE HIGHEST KNOWLEDGE IS TO KNOW THAT WE ARE SURROUNDED BY MYSTERY |
|
Those who are able to adapt and change
in accord with the enemy and achieve victory are called divine... |
|
Those who are able to adapt and change
in accord with the enemy and achieve victory are called divine... |
|
Difficoltà |
(X)NewBies (X)Intermedio ( )Avanzato ( )Master |
|
|
Introduzione |
|
Tools usati |
|
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, 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 i 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”:
E V O T H
B S
I L P
U F G D W
A
C K M 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.
A questo modo 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, sono quelli 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
ev0...entuale firmetta
|
Note finali |
Facile vero?
Ciauz a tutti.
|
Disclaimer |
Vorrei ricordare che il software va comprato e non rubato, dovete registrare il vostro prodotto dopo il periodo di valutazione. Non mi ritengo responsabile per eventuali danni causati al vostro computer determinati dall'uso improprio di questo tutorial. Questo documento è stato scritto per invogliare il consumatore a registrare legalmente i propri programmi, e non a fargli fare uso dei tantissimi file crack presenti in rete, infatti tale documento aiuta a comprendere lo sforzo che ogni sviluppatore ha dovuto portare avanti per fornire ai rispettivi consumatori i migliori prodotti possibili.
Reversiamo al solo scopo informativo e per migliorare la nostra conoscenza del linguaggio Assembly.