lezione 8 pdf, compressione, criptazione. portable document format (pdf) il pdf, della società...

37
Lezione 8 PDF, Compressione, Criptazione

Upload: clemente-colonna

Post on 01-May-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

Lezione 8 PDF, Compressione, Criptazione

Page 2: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

Portable Document Format (PDF)

Il PDF, della società Adobe, è un formato per la presentazione di dati testuali e grafici molto diffuso sul web.

Derivato dal formato postscript (.ps), (un linguaggio di stampa nativo per stampanti laser di fascia medio-alta), con varie differenze sul formato, sulla funzionalità, sulla sicurezza, e sulla creazione di documenti.

Page 3: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

PDF: Funzionalità PDF garantisce la resa grafica uniforme di un

documento su una varietà di sistemi (visualizzazione su schermo) e di stampanti.

I fine riga ed il posizionamente delle immagine vengono sempre mantenuti (al contrario che in HTML).

Nelle versioni più recenti, PDF offre inoltre: La possibilità di inserire in un documento “form”

(moduli) da riempire, puntatori attivi, immagini in movimento, allegati di ogni tipo.

La possibilità di effettuare copia/incolla del testo o delle immagini, se permesso dal creatore del documento.

La possibilità di annotare il file ricevuto (stile post-it)

Page 4: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

PDF: Sicurezza

Un documento PDF permette di inserire varie restrizioni, all’atto della creazione di un documento. In particolare, è possibile: Criptare il documento con una password

(impedendone selettivamente la lettura) Impedirne la stampa (documento di sola

lettura) Impedirne il “copia e incolla”.

Page 5: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

PDF: Creazione Un file PDF deve essere creato utilizzando un

programma a pagamento della Adobe (Adobe Acrobat, Adobe LifeCycle, ecc.) Solo tali programmi consentono di inserire in un documento funzionalità avanzate quali form, link, note post-it, correzioni a più mani, ecc.

Tuttavia è possibile scaricare un programma gratuito (Pdfcreator, http://sourceforge.net/projects/pdfcreator/ ) che una volta installato viene visto dai programmi di Windows come una stampante. “Stampando” su PDF creator, è possibile trasformare qualsiasi documento in PDF (senza funzionalità avanzate; buoni risultati da Word, cattivi da pagine Web) e salvarlo su disco.

Page 6: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

PDF: Creazione (2) La suite di programmi open-source

OpenOffice (http://www.openoffice.org/) consente di esportare documenti in PDF.

pdfTeX (una variante di LaTeX) permette di creare PDF a partire da file .tex, consentendo anche l’inserimento di link ipertestuali.

Numerosi software di grafica consentono inoltre l’ esportazione in PDF

Page 7: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

PDF: Importazione Un file PDF deve essere considerato

più simile ad una immagine che ad un testo.

PDF non è un buon modo per salvare un file che si intende modificare.

Una volta che documento Word è stato “esportato” in PDF, non è possibile “riimportarlo” in Word (o altro word processor) riottenendo un documento identico all’originale.

Page 8: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

PDF: Importazione La funzione “copia e incolla” (se

abilitata) consente al massimo il recupero del puro testo (non formattato)

Esistono programmi specializzati per la riconversione di PDF in un formato editabile (p.es. PDF-to-word, deskUNPDF)

I migliori risultati si ottengono con i software della Adobe (Adobe Acrobat/Freehand/Illustrator)

Page 9: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

PDF: Visualizzazione i file PDF possono essere visualizzati

con il lettore gratuito Acrobat Reader (che può essere installato come plug-in in un browser), con visualizzatori commerciali (e.g. Foxit Reader)

Se permesso in fase di creazione, questi lettori permettono anche ricerca e annotazioni sul testo

Altri visualizzatori (UNIX/Linux): Xpdf, Okular, Evince)

Page 10: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

PDF vs. HTML Formato: al contrario di un file HTML, un file

PDF è binario (compresso). Ciò comporta che il PDF sia molto efficiente per trasmettere dati non modificabili.

Un file PDF è in generale molto più piccolo anche di un file Word (.doc) o Power Point (.ppt) di uguale contenuto.

Se non è necessario/consigliabile permettere la modificabilità di un documento, trasformarlo in PDF prima di spedirlo è un ottima idea.

Page 11: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

PDF vs. (X)HTML: pro e contra In origine, l’HTML era specializzato nella

resa su schermo di un documento leggibile (ma con resa grafica non uniforme), facilmente modificabile e dotato di link; il PDF puntava invece sulla uniformità grafica in stampa e sulla non modificabilità.

Attualmente, convergenza tra i due formati: HTML può garantire una buona uniformità grafica, la resa a stampa è migliorata, il PDF dispone di link ed altri aspetti simil-HTML per la resa su schermo.

Principale differenza: HTML è uno standard aperto, il PDF no (specifiche proprietarie)

Page 12: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

Compressione di dati testuali

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

Page 13: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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 l’informazione ridondante—quella che può essere ricostruita a partire da altre informazioni presenti nel documento stesso

La ricostruzione deve essere:

Effettuabile in maniera puramente meccanica e senza bisogno di alcuna conoscenza specifica sul tipo

di dato che è stato compresso.

Page 14: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

Compressione di dati: esempi 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 all’orecchio 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.

Page 15: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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, JPG, divx, ogg vorbis, ecc.

Page 16: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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`ı una rapporto di compressione medio attorno al 40% (variabile, a seconda del grado di ridondanza dei testi ed all’algoritmo usato).

Page 17: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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)

Page 18: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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:

<spazio> 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. <spazio> = 0 (1 bit) 5. i = 11110 (5 bit)

2. e = 10 (2 bit) …

3. a = 110 (3 bit) …

4. o = 1110 (4 bit) ? = 1111111111111111111111111111

Page 19: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali
Page 20: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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 l’algoritmo deve analizzarlo interamente e costruire una tabella di codifica basata sulla frequenza.

Page 21: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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 A A AA 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 AA 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 AA 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 AA 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 AA 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 AA 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 AA 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 AA 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 AA 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.

Page 22: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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)

Page 23: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

Programmi di compressioneSi stanno diffondendo numerosi programmi basati su algoritmi

alternativi,più rapidi e 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 http://sourceforge.net/projects/sevenzip/), basato sul formato 7z (grado di compressione dichiarata: dal 30 al 70% migliore del formato zip). Crea file con suffisso .7z

Page 24: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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.

Page 25: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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 un’altra e da qui ad una terza, ecc. mentre non si può riassumere all’ infinito).

Page 26: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

Un esempio di criptazione ‘minima’:

Slq rleet ilq hfrrps ip stabzf dpbfrp zpbztdfp ulz csf alqdf tahczfhol‘ qf ipzpbbf dpf lzf arfzzpbf.Fo vcfsbt f ipz vcfq lzf l‘ htaf iczflabf alqdf alqdfnnpf l fauzf l mtzblhol slq ulsaplz zpstdf qf ufczf!Bfsb’l‘ frfzf hol utht l‘ upc‘ rtzblrf ulz bzfbbfz ilq gls ho’pt dp bztdfp,ipzt‘ ilqq’fqbzl htal ho’pt d’ot ahtzbl...

Page 27: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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 1 2 3 4 5 6 ...

e facendo corrispondere i caratteri della riga di sopra a quelli della riga di sotta si decifra il testo.

Page 28: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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à).

Page 29: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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)

Page 30: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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.

Page 31: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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 c’era un modo sicuro per trasmettere la chiave, perché non si è usato per trasmettere il messaggio stesso?

Page 32: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

Soluzione: Sistema cifrato a chiave doppia Una chiave fa il contrario di quello che fa l’altra: se

una chiude, l’altra 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), l’altra chiave è privata e segreta.

E’ impossibile dedurre una chiave conoscendo l’altra. 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 interi)

Page 33: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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é quest’ultima è indispensabile per aprire il messaggio, esso resterebbe indecifrabile.

Page 34: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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.

Page 35: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

Messaggio di A

Chiave pubblica A

Chiave privataA

A

Messaggio di A

Chiave pubblica B

Chiave privataB

B

Criptazione

Trasmissione

Decrip

tazione

Trasmissione sicura

Page 36: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

Messaggio di A

Chiave pubblica A

Chiave privataA

A

Messaggio di A

Chiave pubblica B

Chiave privataB

B

Criptazione

Trasmissione

Decriptazione

Firma digitale

Page 37: Lezione 8 PDF, Compressione, Criptazione. Portable Document Format (PDF) Il PDF, della società Adobe, è un formato per la presentazione di dati testuali

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

Decrip

tazione