LIVELLO 6: PRESENTAZIONE

Il livello 6 ha il compito di creare un codice che sia comprensibile a tutti i sistemi operativi presenti nella rete, permettendo quindi la comunicazione fra i diversi host.

Sintassi: rappresentazione dei dati; semantica: insieme delle leggi che associano ad ogni rappresentazione un valore ben preciso.

Si potrebbe imporre ad un host di effettuare la traduzione in base alla sintassi del destinatario. O si potrebbe utilizzare una sintassi di riferimento comune ai due host. Nel secondo caso abbiamo quindi due traduzioni e non una. Nel primo caso abbiamo N^2 regole di traduzione, nel secondo 2N, quindi per N maggiore di 3 conviene usare il secondo metodo. Essendo N il numero di sintassi diverse.

Abbiamo una sintassi astratta quando questa è presente in più esemplari. La sintassi astratta del mittente è quel insieme di regole di rappresentazione delle informazioni nell’ambito del mittente. Viene definito un contesto base che adotta una codifica standard di tutti i tipi primari, e un contesto specifico per i tipi negoziati, ovvero quando si instaura una connessione si stabilisce un insieme di regole di rappresentazione.

Avendo questi due record passiamo il codice ASCII corrispondente

“MELE”  (lunghezza 10)

60

4D 45 4C 45 00 00 00 00 00 00 3C 00

Gestione della P_Connessione: viene anche gestito lo scambio di dati, ma non aggiunge nulla al livello precedente, e permette solo di accedere ai servizi del livello sessione.

Le primitive del livello presentazione non fanno altro che richiamare quelle del livello sessione, anche se sono presenti maggiori parametri. Sono anche qui presenti i punti di sincronizzazione per riprendere dall’ultimo contesto che si stava usando o dal contesto  in uso nel punto della re-sincronizzazione.

L’ISO ha proposto una sintassi astratta molto simile al C con della label che identificano l’elemento, di nome ASN.1.

Crittografia: i metodi a sostituzione sono poco efficienti visto che è possibile sostituire i caratteri e se si conosce la lingua si può capire quali sono utilizzati con più frequenza e capire quindi a che carattere corrisponde. Vengono quindi usate una chiave privata che identifica il mittente e una chiave privata che identifica il destinatario.

Sostituzione a traslazione fissa: Detta L la lunghezza dell’alfabeto in uso e k la quota di traslazione si sostituisce ogni lettere con quella che segue di K posti in ordine alfabetico.

Sostituzione a traslazione variabile: Si adotta una chiave della stessa lunghezza del messaggio, composta da tanti valori K. Si adottano i corrispondenti valori ASCII, ad esempio da ‘A’ a ‘B’ abbiamo transazione 1

Sostituzione alfabetica: si adotta una chiave composta da tutte le lettere dell’alfabeto distribuite casualmente e si sostituisce ogni lettera del messaggio con quella corrispondente nel messaggio.

Metodo della trasposizione: Si spostano le lettere che compongono il messaggio. Il testo viene diviso in gruppi di lettere pari alla lunghezza della chiave. Si dispongono in in una matrice solo i valori letterali per righe. Ad ogni elemento della colonna corrisponde un elemento della chiave.

Metodi a chiave privata: Si basa su una chiave a 56 bit che opera in 18 stadi su blocchi di 64 bit. L’ultimo e il primo stadio operano una trasposizione, gli altri producono un uscita una stringa di 64 bit dipendente da quelli in ingesso.

Metodi a due chiavi pubblica/privata: Una chiave pubblica viene usata da chi trasmette e una privata per chi riceve. L’obiettivo è rendere la decodifica così complicata da scoraggiare a farla. Si usa un dizionario delle chiavi. Un algoritmo è quello discrete-log trapdoor, che si basa su numeri primi molto grandi.  Un algoritmo è quello discrete-log trapdoor, che si basa su numeri primi molto grandi.

h=(a-1)*(b-1)

(R*T) mod h=1

Con a =3 e b=11 abbiamo g=33 e  h=20, quindi R e T possono valere 7 e 3, per cui 7*3 mod 20=1.

Otteniamo il messaggio moltiplicando per M, il valore che indica il blocco. 2^n deve essere minore di g. Possiamo operare con blocchi massimi di 6 bit. Se il messaggio fosse composto da ABC abbiamo in binario:

01000001

01000010

01000011

E li raggruppiamo in informazioni da 6 bit abbiamo

16^7 mod 33=25

20^7 mod 33=26

9^7 mod 33=15

3^7 mod 33=9

Il messaggio cifrato sarà quindi 25 26 15 9. Il destinatario quindi userà la formula

R=T^R mod G

Ottenendo così il messaggio originale.

Compressione: serve per il trasferimento di dati e diminuisce la dimensione dei dati da trasmettere. Se alcune sequenze si ripetono frequentemente è possibile sostituirle con una sequenza minore.

Con un immagine a 16 milioni di colori ho bisogno di 24 bit e quindi 3 byte, poiché 2^24=16 milioni. Ogni volta che si vuole aprire un file compresso si deve attendere del tempo perché deve avvenire la decompressione.

Metodi a lunghezza variabile: si basa sul calcolo dell’entropia, ovvero la sommatoria del logaritmo in base due della probabilità per la stessa. Adotta la tecnica di codificare un carattere o una sequenza che si ripete spesso con una codifica di lunghezza minore.

Metodi a lunghezza di sequenza: Utilizzano il fatto che esiste una correlazione fra il carattere precedente e il successivo. Ad esempio se ho AAABB invierò solo 3A2B.

Compressione a dizionari: viene usata nei file zip, viene interpellato un dizionario di dimensioni medie, perché se troppo grandi diventa difficile cercare una stringa, se troppo piccolo non ha abbastanza dati. Viene quindi cercata la stringa nel dizionario e codificata con una di lunghezza minore.

Compressione frattale: vengono individuate una serie di funzioni matematiche che riescano a rappresentare i dati.

morocarlo

Sono uno studente di ingegneria informatica all'università di trieste. Sono appassionato di tecnologia, principalmente mi occupo/interesso di reti, hardware e software in generale. Programmo molto in Visual Basic .net (2008), ma conosco molto bene VB6. Ho le conoscenze basilari dei maggiori linguaggi di programmazione come php, asp, java, js, C#, Pascal e Assembly. SO: Windows 7, XP, Ubuntu, Mint, Netbook Remix

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *