Playfair Cipher
Un gioco più che una cifratura

Data

by ev0

 

15/06/2005

UIC's Home Page

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...
- Sun Tsu

E-mail: ev0luzione@yahoo.it
ev0, azzurra.net, #crack-it, #hacker.it, #traduzioni

Those who are able to adapt and change in accord with the enemy and achieve victory are called divine...
- Sun Tsu

Difficoltà

(X)NewBies (X)Intermedio ( )Avanzato ( )Master

 

 

Introduzione

Eh eh eh mi è venuta voglia di scrivere questo piccolo essay
Cominciamo subito.

Tools usati

Cryptool
Playn
Playfair

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.