IDUL 2010 COMPRESSIONE E CRIPTAZIONE. Compressione Concetto di compressione Compressione con e senza perdite Esempi Principali programmi e formati in.

Slides:



Advertisements
Presentazioni simili
Modulo 1 – Ambiente di lavoro Windows 7
Advertisements

CODIFICA DELLE INFORMAZIONI
Tecniche di compressione dei dati
Cenni sul campionamento
Crittografia/ Steganografia
Le Informazioni e la loro Rappresentazione nei calcolatori
Trasmissione delle informazioni
La gestione dell'audio Creazione, acquisizione, formati di file a cura di Loris Tissìno (
RSA Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena.
Per crittografia si intende la protezione
Significato, vantaggi e svantaggi Marchesin Sara Soligo Alessandra
Sistemi di elaborazione delle informazioni
CRITTOGRAFIA La crittografia, ovvero la scienza dei messaggi segreti sicuri, nasce come raccolta di tecniche e sistemi per nascondere messaggi tra regnanti,
Codifica dell’ Informazione non numerica
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
Processi Aleatori : Introduzione – Parte I
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Algoritmi e strutture dati
Corso di Informatica per Giurisprudenza
IDUL 2012 ENTROPIA, COMPRESSIONE E CRIPTAZIONE 1.
Lezione 6 TEI Lite, XSL, Compressione di dati
PDF, Compressione, Criptazione
IDUL 2011 COMPRESSIONE E CRIPTAZIONE. Compressione Concetto di compressione Compressione con e senza perdite Esempi Principali programmi e formati in.
IL FORMATO DEI FILE E IL FILETYPE (ESTENSIONE) Formato dei file 10 marzo 2012 Informatica prof. Giovanni Raho anno
La rappresentazione dellinformazione. 7-2 Digitalizzare linformazione Digitalizzare: rappresentare linformazione per mezzo di cifre (ad es: da 0 a 9)
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
Programma del corso Dati e loro rappresentazione Architettura di un calcolatore Sistemi operativi Linguaggi di programmazione Applicativi: - fogli elettronici.
ADSL VOIP Voice Over IP.
Claudia Raibulet Algebra Booleana Claudia Raibulet
Educare al multimediale 1 – Verso il digitale 2 Presentazione a cura di Gino Roncaglia Prima parte: Informazione in formato digitale.
Modulo 7 – reti informatiche u.d. 2 (syllabus – )
RAPPRESENTAZIONE DELL'INFORMAZIONE
Usare la posta elettronica con il browser web
LA CRITTOGRAFIA QUANTISTICA
Alle origini della scienza dellinformazione /4 Luca Mari
Elementi di Informatica di base
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 7.
CORSO DI CRITTOGRAFIA Quinto incontro PROGETTO LAUREE SCIENTIFICHE
GRANDEZZE ANALOGICHE E DIGITALI
Digitalizzazione Un segnale viene digitalizzato, se il suo stato originario analogico viene tradotto e rappresentato mediante un insieme numerabile di.
COMPRESSIONE DEI FILE C OMPRESSIONE DEI FILE Comprimere un file significa ridurne le dimensioni allo scopo di occupare meno spazio sul disco.
Immagini digitali immagine digitale, si intende un elemento grafico elaborato tramite computer, che si può visualizzare sul monitor e stampare su carta.
Il processo per generare una Firma Digitale
ECDL Patente europea del computer MODULO 2 Uso del computer e gestione dei file 2.3 Utilità
Codifica dell’informazione
DIGITALIAZZAZIONE Di Alessio.
I FRATTALI Frattale di Mandebrot
La rappresentazione delle informazioni in un computer
Informazione multimediale Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori ma ci sono sempre piu’ applicazioni che.
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Rappresentazione dell’informazione nel calcolatore.
Codifica dell’informazione
IV D Mercurio DB Lezione 2
UNIVERSITÀ DEGLI STUDI DI PAVIA Anno accademico 2009/2010 Sicurezza e frodi informatiche in Internet: la Firma Digitale come garanzia di autenticità e.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Microsoft Access Chiavi, struttura delle tabelle.
Rappresentazione della Informazione
Bit singolo e burst u un canale che trasmette voce tollera bene gli errori distribuiti uniformemente –perche’ errori singoli hanno effetti simili al rumore.
La codifica dei numeri.
Crittografia/ Steganografia
Informatica Lezione 10 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
1 Lezione XV-b Avviare la presentazione col tasto “Invio”
SOMMARIO La Digitalizzazione La Compressione LA DIGITALIZZAZIONE La digitalizzazione consiste nella trasformazione di un oggetto in una sequenza di numeri,
Di Matteo Arenga Manuela Bonaccorso Giulia Diprossimo.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
STRUTTURE DEI DATI (COMPLESSI). TESTO (codifica informazioni testuali) TESTO: (es. libro) sequenza di capitoli, paragrafi,pagine,righe, parole.
Un sistema di sicurezza dei dati.  La crittografia, il cui termine indica "nascosto", è la branca della crittologia che tratta delle "scritture nascoste",
Video Grafica Immagini. Modalità Video Risoluzione –Numero di pixel visualizzati sul monitor; per esempio 800 x 600, 1024 x 768, 1280 x 1024 Profondità.
Sicurezza dei Sistemi Informatici L.S. in Ingegneria Informatica Docente: Prof. Giuseppe Mastronardi CRITTOGRAFIA E CRITTOANALISI ATTACCHI AI SISTEMI DI.
Transcript della presentazione:

IDUL 2010 COMPRESSIONE E CRIPTAZIONE

Compressione Concetto di compressione Compressione con e senza perdite Esempi Principali programmi e formati in uso

Compressione di dati Comprimere dei dati significa ricodificarli in un modo che permetta di occupare un numero minore di byte rispetto alla codifica originale, preservando (interamente o parzialmente) il contenuto. Metodo generale: eliminare linformazione ridondantequella che può essere ricostruita a partire da altre informazioni presenti nel documento stesso La ricostruzione deve essere: Effettuabile in maniera puramente meccanica senza bisogno di alcuna conoscenza specifica sul tipo di dato che è stato compresso Idealmente, la codifica e specialmente la decodifica devono essere computazionalmente leggere (per tempo e memoria)

Compressione di dati: metodi generali Immagini: zone di colore uniforme possono essere codificate insieme, regolarità geometriche catturate da formule, immagini in movimento possono essere rappresentate specificando solo ciò che cambia sulla scena. Musica: non tutti i suoni sono ugualmente percepibili allorecchio umano. L MP3 comprime danneggiando i suoni meno percepibili. Testi: I caratteri di un testo in una lingua umana sono disposti in maniera NON casuale. Esistono molte regolarità nella successione delle lettere di una lingua, che permettono di omettere determinate informazioni e ricostruirle integralmente.

Compressione con e senza perdite Se il processo di decompressione porta a dati che sono identici a quelli che sono stati compressi in origine, si dice che la compressione è senza perdite (lossless): (i dati prima della compressione sono identici a quelli che sono stati compressi e poi decompressi.) Se invece il risultato della decompressione è un file simile ma non identico a quello originale, si parla di compressione con perdite (lossy) Esempi di compressione lossy sono i formati MP3, JPEG, MPEG, divx, ogg vorbis, ecc.

GIF VS. JPEG GIF (75279 bytes)JPEG (15975 bytes)

JPEG: PIU / MENO COMPRESSO

Tecnica del dithering: alternare pixel di colori diversi per ottenere un colore intermedio. Vedi il sito: http// Rappresentare colori intermedi

SUONO ORIGINALE VS. MP3 CD: Musica campionata volte al secondo 16 bit per campione Campioni per canali sinistro e destro (stereo) Totale: bits x secondo = 32 MB per una canzone di 3 minuti

MP3 Sfrutta conoscenza dei limiti delludito umano per ridurre la quantità di informazione da immagazzinare: Escludi suoni che lorecchio non può udire Quando cè un suono particolarmente rumoroso, non registrare gli altri suoni Fattore di riduzione: anche 10 volte (= 3MB per canzone media)

Compressione senza perdite Viste le caratteristiche del linguaggio umano, per i testi, come per i programmi, si usano solo metodi di compressione lossless (in cui cioè, decomprimendo, si ottiene un testo identico a quello da cui si era partiti). Infatti, perdere un solo byte in un programma comprometterebbe in modo irreparabile il suo funzionamento, così come perdere un non in una asserzione ne invertirebbe il significato. Si ottiene così un rapporto di compressione medio attorno al 40% (variabile, a seconda del grado di ridondanza dei testi ed allalgoritmo usato).

Esempio: Codifica di Huffman Un modo per comprimere senza perdite un insieme di dati è codificarli in modo tale che i tipi di dati più frequenti siano codificati con meno bit. Il messaggio è accompagnato da una tabella di codifica (che varierà da testo a testo)

Algoritmo di Huffman Supponiamo di ordinare le lettere minuscole dell italiano in base alla frequenza con cui appaiono. In ordine di frequenza decrescente, otterremo ad esempio la serie: e a o i n r t l c s u d p m, h v g b. f z q ? Se potessimo usare meno bit per rappresentare le lettere sulla sinistra che quelle sulla destra avremmo un modo per rappresentare in modo più compatto il testo. Esempio: 1. = 0 (1 bit)5. i = (5 bit) 2. e = 10 (2 bit)… 3. a = 110 (3 bit)… 4. o = 1110 (4 bit)? =

Osservazioni: La compressione funziona solo perché la probabilità di lettere diverse è molto diversa (vocali vs. consonanti vs. segni di interpunzione) Prima di codificare il messaggio lalgoritmo deve analizzarlo interamente e costruire una tabella di codifica basata sulla frequenza. Algoritmi più raffinati sostituiscono alla frequenza assoluta la probabilità basata sul contesto (p.es. u dopo q è più probabile che dopo z)

Esempio 2: informazione messa a fattore A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A (600 byte) = 300 volte A (13 byte) Metodo usato p.es. nelle immagini per aree di colore uniforme.

Algoritmo LZ77

Compressibilità ed entropia Entropia: misura della quantità di incertezza legata allo stato di un sistema con più stati possibili. – 1 moneta: 1 bit di entropia – 2 dado: 6 esiti (2.58 bit di entropia) Tutti i sistemi di compressione sfruttano una ridondanza nella informazione. Un testo formato da sequenze puramente casuale di caratteri non può essere compresso (massima entropia x bit) Più un testo contiene sequenze simili, più è suscettibile ad essere compresso.

Compressibilità ed entropia La relazione tra entropia e comprimibilità è stata sfruttata al contrario per misurare la distanza tra testi diversi. Porzioni di DNA Testi in lingue diverse (tipologia linguistica) Testi di autore sconosciuto (stilometria, ecc.) Si veda: Baronchelli, Caglioti, Lorento 2006Baronchelli, Caglioti, Lorento 2006

TEORIA DELLINFORMAZIONE Dobbiamo a Claude Shannon e Warren Weaver la prima definizione teorica rigorosa del concetto di comunicazione ed il primo schema astratto di tutti i processi comunicativi, elaborati alla fine degli anni 40

LA COMUNICAZIONE SECONDO SHANNON & WEAVER La comunicazione è il trasferimento di informazioni mediante segnali da una fonte a un destinatario Lo schema della comunicazione di Shannon e Weaver è un modello astratto della comunicazione. Esso ha lobiettivo di individuare la forma generale di ogni processo comunicativo e i fattori fondamentali che lo costituiscono, quegli elementi, cioè, che devono essere presenti ogni qual volta si verifichi un passaggio di informazione

IL MODELLO NOISY CHANNEL

TEMI CENTRALI DELLA TEORIA DELLINFORMAZIONE Entropia come misura della quantità di incertezza o informazione presente in un segnale. Informazione come SCELTA tra ALTERNATIVE Un MESSAGGIO viene usato per comunicare quale tra queste alternative e vera / interessa. Come e possibile sviluppare il codice più efficiente (= che richiede il minor numero di bit) per trasmettere questa informazione?

MINIMO NUMERO DI BIT RICHIESTI PER CODICE Con 2 bit si codificano 4 distinzioni (2 2 ) Con 3 bit si codificano 8 distinzioni (2 3 ) … Con N bit si possono codificare 2 N distinzioni differenti In generale, se devo rappresentare N distinzioni, devo usare almeno log 2 N bit

NUMERO DI BIT NECESSARI PER RAPPRESENTARE INFORMAZIONE Se il problema è quello di dover rappresentare M informazioni differenti si deve selezionare il numero di N bit in modo tale che 2 N >= M Esempio: per rappresentare 40 informazioni differenti devo utilizzare 6 bit perché 2 6 = 64 5 bit non sono sufficienti perché 2 5 = 32

Programmi di compressione Gran varietà di programmi di (de)compressione, parzialmente incompatibili tra loro. Trattandosi di programmi che funzionano su qualsiasi tipo di dato, adottano sempre compressione senza perdite. Il più noto, ma non il più efficiente, è probabilmente WinZip (shareware). Crea file con suffizzo.zip Effettua sia (de)compressione che (de)archiviazione (il processo di raccolta di un insieme di cartelle, sotto cartelle e file in esse contenuti in un unico file, che può poi venire compresso e trasmesso facilmente e poi riaperto ricostruendo la struttura originale) WinZip

Programmi di compressione Si stanno diffondendo numerosi programmi basati su algoritmi alternativi, più rapidi o con un migliore rapporto di compressione rispetto al formato zip. Da citare: Formato bzip2 (variante migliorata del formato gzip, crea file con suffisso.bz2) WinRAR (programma commerciale), basato su formato di compressione RAR, crea file con suffisso.rar 7-zip (programma open source, scaricabile gratuitamente da basato sul formato 7z (grado di compressione dichiarata: dal 30 al 70% migliore del formato zip). Crea file con suffisso.7z Formati PAQ: ottengono eccellente compressione senza perdite, al costo di tempi di compressione molto lenti e grande uso di memoria.PAQ

Programmi di compressione (2) Con alcuni programmi è possibile creare file compressi autoscompattanti ; si tratta di file.exe che una volta attivati si decomprimono automaticamente. Altri formati (ad esempio.msi Microsoft Installer) fanno partire il programma di installazione che decomprime il contenuto del file (in questo caso, un programma) e lo installa. Un limite pratico di tali formati è che, trattandosi di programmi eseguibili, sono un buon veicolo per la diffusione di virus.

Criptazione Al contrario che nel mondo degli oggetti fisici, in cui il modo di preservare la proprietà di un oggetto è principalmente quello di impedire l appropriazione indebita da parte di terzi, nel mondo delle informazioni trasmesse a distanza la possibilità di criptare dati trasmessi in modo che non siano comprensibili a terzi stà diventando il sistema prevalente di difesa delle informazioni. Notate che mentre un file si può comprimere una sola volta (dati già compressi non possono essere compressi ulteriormente), si può criptare più di una volta (proprio come un testo può essere tradotto da una lingua ad unaltra e da qui ad una terza, ecc. mentre non si può riassumere all infinito).

Un esempio di criptazione minima: Slq rleet ilq hfrrps ip stabzf dpbf rp zpbztdfp ulz csf alqdf tahczf hol qf ipzpbbf dpf lzf arfzzpbf. Fo vcfsbt f ipz vcfq lzf l htaf iczf labf alqdf alqdfnnpf l fauzf l mtzbl hol slq ulsaplz zpstdf qf ufczf! Bfsbl frfzf hol utht l upc rtzbl rf ulz bzfbbfz ilq gls hopt dp bztdfp, ipzt ilqqfqbzl htal hopt dot ahtzbl...

Come aprire il codice La chiave per decifrare il testo è 6: mettendo in corrispondenza due alfabeti slittati di 6 posti e ruotati in modo che la A segua la Z, cioè: A B C D E F G H I L M N O P Q R S T U V Z S T U V Z A B C D E F G H I L M N O P Q R e facendo corrispondere i caratteri della riga di sopra a quelli della riga di sotta si decifra il testo.

Come rompere il codice Due aspetti: Capire di che codice si tratta. Trovare in qualche modo la chiave. Nel caso banale della rotazione, si può procedere per tentativi, o con statistiche sulla probabilità di ciascuna lettera (se la lettera A ha una certa probabilità di occorrere in un testo, la lettera che corrisponde alla A si tradirà, in testi sufficientemente larghi, per il fatto di avere la stessa probabilità).

Nella criptografia semplice, si usa la stessa chiave per chiudere (= criptare) ed aprire (= decriptare) il messaggio (esempio: USA Federal Data Encryption Standard (DES)). Per motivi matematici, più la chiave è lunga, maggiore è la sicurezza del messaggio. Anche gli algoritmi posso avere vari gradi di sicurezza Una chiave troppo corta è suscettibile a metodi di attacco a forza bruta (=provare tutte le combinazioni)

Quale password è sicura? Alcuni suggerimenti: Password solo numeriche sono meno sicure (date di nascita, numeri di telefono sono facili da scoprire). Meglio usare iniziali di una frase (Abito In Via Cesare Battisti 2) p.es. o di un titolo (ma meglio non 3MSC). Usare sia lettere maiuscole che minuscole. Inserire dei numeri nella password.

Limiti della criptazione semplice Se non cè un modo sicuro di trasmetter la chiave, chi si impossessa della chiave può leggere il messaggio. E se cera un modo sicuro per trasmettere la chiave, perché non si è usato per trasmettere il messaggio stesso?

Soluzione: Sistema cifrato a chiave doppia Una chiave fa il contrario di quello che fa laltra: se una chiude, laltra apre, e viceversa. La stessa chiave non può sia aprire che chiudere lo stesso documento. Una chiave è pubblica (diffusa su internet, pubblicata da fonti autorevoli, e potenzialmente nota a tutti), laltra chiave è privata e segreta. E impossibile dedurre una chiave conoscendo laltra. Esempio: algoritmo RSA, basato sul concetto di funzione a senso unico, una funzione f() in cui : Facile: x f(x) Difficile: f(x) x (Esempio: la moltiplicazione di due numeri primi )

Come si usa? Per mandare un messaggio sicuro: 1. Il mittente si procura la chiave pubblica del destinatario (p.es trovandola su internet) 2. Il mittente usa la chiave pubblica del destinatario per chiudere (criptare) il proprio messaggio, e lo spedisce. 3. Il destinatario riceve il messaggio ed usa la propria chiave privata per aprirlo (decriptarlo). 4. Se un terzo si impossessasse del messaggio, potrebbe facilmente sapere le chiavi pubbliche di mittente e destinatario, ma non quella privata del destinatario. Poiché questultima è indispensabile per aprire il messaggio, esso resterebbe indecifrabile.

Come si usa? Per trasmettere un messaggio autenticato (firma elettronica ) 1. Il mittente usa la propria chiave privata per criptare il messaggio, e lo spedisce. 2. Il destinatario, ricevendo il messaggio, usa la chiave pubblica del mittente per aprirlo. 3. Se il messaggio non si apre, vuol dire che il mittente non era quello dichiarato, ma un terzo che ha tentato di falsificare la firma. I due sistemi si possono combinare insieme, criptando un messaggio 2 volte. E garantendo sia la vera origine del messaggio che il suo contenuto.

Messaggio di A Chiave pubblica A Chiave privataA A Messaggio di A Chiave pubblica B Chiave privataB B Criptazione Trasmissione Decriptazione Trasmissione sicura

Messaggio di A Chiave pubblica A Chiave privataA A Messaggio di A Chiave pubblica B Chiave privataB B Criptazione Trasmissione Decriptazione Firma digitale

Messaggio di A Chiave pubblica A Chiave privataA A Messaggio di A Chiave pubblica B Chiave privataB B Criptazione 1 Trasmissione Decriptazione 2 Trasmissione sicura + firma digitale Criptazione 2 Decriptazione

RIFERIMENTI / SITI Rappresentazione digitale delle immagini e compressione: I/informatica/node3.html I/informatica/node3.html JPEG: MP3: