Copy Link
Add to Bookmark
Report

Security info 2002 Vol. 2

eZine's profile picture
Published in 
Security info 2002
 · 5 years ago

1) Sistemi e algoritmi, crittazione


Se avete trovato il volume 1 interessante troverete altrettanto carino questo secondo in cui vi parlero' di Crittazzione! Qualcuno mi dira' cosa centra con l'anonimita' e la sicurezza!? Io vi diro' centra eccome!! La crittografia (scrittura nascosta) e' una scienza antica che si occupa dei metodi di cifratura delle informazioni, al fine di rendere trasparente i messaggi tra un mittente e un destinatario ma praticamente illegibili a terze persone occhi indiscreti :). Il mittente crittografa il messaggio tramite delle chiavi che sono in possesso anche del destinatario in modo che quest'ultimo possa decifrarlo. Nella crittografia la codifica viene costruita in modo che il processo di decodifica possa essere attuato solo se si e' in possesso della chiave traduttrice. La crittografia e' in realta' una branca di una scienza piu' ampia: la crittologia, che oltre a comprendere la crittografia stessa, comprende anche la crittoanalisi (analisi di cio che e' nascosto) che si occupa di analizzare i dati di una trasmissione crittografata in modo da poterli intercettare e cercare di tradurli, la crittoanalisi verrà analizzata successivamente. Gli algoritmi di crittografia possono essere classificati sotto due principali categorie riguardanti il tipo di chiave utilizzata: simmetrici (chiave segreta), asimmetrici (chiave pubblica). Ho gia' spiegato qualcosina nell volume Connessioni crittate Ssh (2volumi). Chiariremo stavolta L'algoritmo informatico e le chiavi! in modo piu specifico. Negli algoritmi a chiave simmetrica, la chiave utilizzata nel processo di decodificazione e codificazione e' la stessa; negli algoritmi a chiave asimmetrica invece ci sono due tipi di chiavi, una privata in mano solo al mittente dei messaggi, e una pubblica che resa a disposizione di tutti permette di decifrare i messaggi crittografati con la chiave privata, ma non permette di crearli, quindi mette in evidenza l'autenticità del mittente. Gli algoritmi simmetrici e asimmetrici possono esistere entrambi per esempio con la chiave pubblica viene codificata una chiave di crittografia generata casualmente, e quest'ultima e' utilizzata per crittografare il messaggio utlizzando un algoritmo simmetrico, questa e' per esempio l'implementazione del PGP (Pretti Good Privacy). Quindi e' intuitivo il fatto che ci siano piu' sistemi di crittazioni..Infatti il metodo di crittazione dei messaggi, cioè il portare un messaggio da testo in chiaro a testo crittografato e' basato su una chiave che rappresenta una funzione, e un buon algoritmo di crittazione. Noi analizzeremo tre di esse che vanno sotto il nome di:

Sostituzione

E' l'algoritmo piu (demenziale=) di tutti! Consiste nel sostituire ogni lettera o un gruppo di lettere da altre lettere contenute nell'alfabeto:

Si danno quindi 2 schemi confrontabili :

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

Testo in chiaro: CIAO
Testo crittografato: FLDR

Questo esempio e' molto semplice esistono comunque metodi di sostituzione piu' complicati. Un po' assomiglia all'algoritmo di Cesare :) Ke mi fu spiegato dal mio vecchio amico anetrip! Chissa' se vanno bene i tuoi esami In bocca al lupo!!! In pratica ,ritornando a noi, si tratta di publicare la tavola ascii ed assegnare ad ogni lettera e carattere il suo successore! (molto facile da costruire in vb)!


Trasposizione

La trasposizione e' un altra tecnica usata per crittografare un messaggio, analizziamo adesso la trasposizione per colonna che data una certa chiave, costruisce il testo cifrato in base al riordinamento del testo sulle colonne della chiave, facciamo un esempio per chiarire il concetto:

Prendiamo una chiave qualsiasi : chiave = BOOKS
Prendiamo un messaggio in chiaro msg = ciao sei un grandissimo geysha! (ehhehe)

Ora creiamo la tabella:

 
B O O K S

c i a o s
e i u n g
r a n d i
s s i m o
g a y s h
a !


di questa tabella si prendono le colonne in ordine alfabetico basate sulle lettere delle chiavi, in questo caso prima la colonna B poi K poi le colonne con due O e infine la colonna con la lettera S. Infine avremo:

testo in chiaro : ciao sei un grandissimo gaysha!
testo crittografato : cersga ondms iiasa! sgioh

chiave: BOOKS

Fighissimo, vero??? A me piace molto!!

One-time pads

L'algoritmo di questa tecnica e' il seguente:

  • Si sceglie una stringa casuale di bit che rappresenta la mia chiave.

  • Successivamente di trasforma il testo in chiaro in bit.

  • Si effettua l'operazione logica di or esclusivo tra la chiave e il testo tradotto in bit e si ottiene cosi il testo crittografato.


Naturalmente questa tecnica presenta degli inconvenienti che vanno dalla presenza della chiave sia nella macchina del mittente e del destinatario, dalla quantita' di dati che puo' essere trasmessa, dipendente dalla lunghezza della chiave visto che l'operazione dell'or esclusivo deve essere fatta tra testo e chiave e infine dalla sensibilita' di perdita dei dati visto che si lavora con singoli bit. Le tecniche sia della sostituzione sia della trasposizione vengono riprodotte attraverso circuiti elettronici noti come P-box (P sta ad indicare permutazione) nel caso di trasposizione, e S-box nel caso di sostituzione, questi circuiti vengono in generale chiamati Product cipher, lo standard per la creazione di questi circuiti vanno sotto il nome DES.

(Sembra un casino ma ora ve lo spiego a quattrocchi=)

In pratica e' una chiave non molto flessibile i quali bit possono variare .La stringa quindi viene trasformata in Bit .

Stringa mia--->bit Or esclusivo (non inclusivo, badate bene (o l'uno o l'altro)) Key=Figa Bit =XX Testo= Fxixxgxa. Quindi:
Testo= Fxixxgxa Or Key=Figa (Non e' facilissimo ma...)

Ora ci divulgheremo un po su MD5 PGP quindi le funzioni HASH! Chi sara' mai costui? Le funzioni hash sono funzioni particolari che permettono di dare un impronta digitale che identifica univocamente il messaggio di partenza; sono quindi funzioni che creano una stringa associata al messaggio da spedire e per il quale una volta applicata la funzione non dovrebbe essere pi˘ possibile ritornare al testo originale. Un esempio di funzione hash che distribuisce in modo abbastanza uniforme le chiavi, è quella di prendere un grande numero primo M, e per ogni chiave k, la funzione H(k) = k mod M, questo tipo di funzione viene usata in molti ambienti di sviluppo! Come anche il c! Un esempio sui sistemi Linux puÚ essere dato dall'algoritmo md5 che dato un file come opzione, crea una chiave hash a 128 bit.

MD5 come i precedenti, E' stato ideato da Ron Rivest della RSA Data Security. e' nato per sostituire MD4 che sta per essere violato!
Non cambia molto sulla struttura, è solo un'estensione del suddetto anche se un po' piu' lento.
MD5 e' disponibile liberamente a: ftp://ftp.funet.fi:/pub/crypt/hash/mds/md5

Non ho mai usato MD5 ma ho trovato un pratico esempio

bash-2.01$ md5sum source.gif
aa7229830893b7b30bb0cf23a9fa5abc source.gif

il risultato viene espresso con 16 cifre esadecimali. Riassumendo le due pi˘ importanti caratteristiche che legano le funzioni hash alla crittografia abbiamo, prima la verifica dell'integrità di un certo messaggio, confrontando l'impronta digitale di partenza con quella di arrivo. Un po' come One Times!

Ho trovato alcume proprieta':

MD5:
*il testo e' diviso in blocchi 512 bit.
*viene generato un hash di 128 bit.
*E' basto su XOR e operazioni logiche (collegate all'assembly)
*unico svantaggio e' che e' un po' piu' lento del precedente.

Ora non vi resta che' approfondire sulla funxzione delle chiavi col client Ssh ! Fin qui e' tutto chiaro? Bene ora non ci resta che parlare del Pgp! Pretty good privacy esiste pure in win in pratica si compone in Asimmetrica e Simmetrica serve per inviare messaggi crittati! (logico?!?) www.pgpi.com I remailers non fanno altro che reindirizzare la nostra posta quindi la lettera arrivera' al remailer che a sua volta lo rimandera' a lol@tin.it, adesso per coprire un po' di piu' il vostro messaggio potete crittarlo col PGP. I remailser sono di tipo 0 e 1 se mi ricordo bene.. Di tipo 0 : ogni volta che mandate ad uno di questi remailer (per esempio: anon@anon.penet.fi) loro vi forniscono un ID casuale e strippano le informazioni nell'header sostituendole con questo ID . L'header della posta e' quella roba che potete ricavarne facendo proprieta' alla mail! remailer CypherPunk (detti di Tipo 1) sono estremamente piu' sicuri dei precedenti per il semplice fatto che ci premettonp di crittare la posta ,abbiamo la possibilita' di concatenare piu' remailer tra loro . Possiamo usare il pgp! Questa e' una prova di come dovete spedire una mail crittata (crittate il messaggio con il programma 6 o superiore con Text Output):

 
Encrypted: PGP
-----BEGIN PGP MESSAGE-----
Version: PGPfreeware 6.0.2i

hQCMA98tceHEP7bpAQP/aIgwnTmh73X0M1KTMRXLtOeG8qCm1ejQwBTXnJ7NJrS3
qsY4GZTyHmy86U17XRay1nM2GC6eCv81EuZsejQolG4P7kxTX1Ywl2PuPceZPQ3m
JkEbhcNNXIgXqWkc1p/ahb9AnJ08hdi9J+FBcjiI5wUDffaOOSNkOuUoKPhjKTyk
kybbDH8B9GWNd0ruHxQDESWqFDlI2c3naYyxyErH8Kww3NbPjCYcZ07UfxE7LEr9
/gU2hPvOYpj49h6Nm3rRVlS9Kqve9Yr5D6PNxbsP1ege4CMO7uJXG0+r+PdEhZ1R
3CbQOlDANpsmhFVzbxN3bHB/CLFzVg16QrFceYPsO4OZpENAU0Eb3tYv1LRlGn2U
lIhzdQ==
=D7/d
-----END PGP MESSAGE-----

la stringa Encrypted: PGP che serve a dire al remailer che gli state mandando un messaggio crittato ovviamente dovete mettere nel campo A: l'indirizzo del vostro remailer. Oppure vari destinatari criptati con il distacco dei ":".

 
::
Request-Remailing-To: Cannabis@legalizzazione.com
::
Request-Remailing-To: Sburro@lol.it
::
Request-Remailing-To: figa@marja.it
::

2) Ultime delucidazioni!


Alla fine l'abbiam fatto! Che mal di testa! Yuhu domani e'SanValentino..si tromba (sese...) cmq vi e' piaciuto st tute? Se si mandate la somma di 10 euro all'indirizzo ... heheh .Bene apparte gli scherzi non e' ancora finito! Ora vi parlero' in grandi linee della crittografia!

Crittografia

Vediamo ora in dettaglio quelli che sono gli elementi che costituiscono la base su cui si poggia la crittografia, partendo da quello considerato da tutti fondamentale: il cifrario.

Cifrario

Il termine cifrario indica il procedimento utilizzato per ottenere il testo cifrato partendo dal testo in chiaro. Esistono innumerevoli tipologie di cifrari e nel nostro caso, sarebbe sicuramente na rottura di palle vederle tutte, quindi, ho pensato di sviluppare l'argomento in modo tale da poter consentire un analisi approfondita di un semplice algoritmo crittografico quale il DES. Non mi soffermero' quindi su tutte le varianti dei vari cifrari ma esclusivamente su quelle necessarie per raggiungere l'obbiettivo appena esposto.

Iniziamo vedendo il cifrario piu' semplice, quello a blocchi.

I binari vengono divisi in blocchi di lunghezza fissa a cui viene applicata in sequenza la trasformazione della chiave.

In pratica esempiucci:

TESTO IN CHIARO [BLOCCO BINARIO] [BLOCCO BINARIO] > [TESTO CIFRATO]

oSSIa:

lol e' il testo originario!

c1 (lol) ;applicazione cifriario c1

c2(c1 (lol) ;prodotto dei cifrari

Chissa' perche' in matematica ho 2! :) Ora sapete molto! Chiavi, algoritmi, crittazione, remailer, proxy, gatway, ip mask, programmazione, wingate..

-End 0f 2^nD B0ok-

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT