47
Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da www.tei-c.org , www.griseldaonline.it

Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Embed Size (px)

Citation preview

Page 1: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Lezione 6 TEI Lite, XSL, Compressione di dati

Materiali adattati da www.tei-c.org, www.griseldaonline.it

Page 2: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

TEI e TEI Lite Text Encoding Initiative Guidelines della Text Encoding Initiative

(TEI): indirizzate a quanti intendono produrre e diffondere informazioni archiviate in formato elettronico

Schemi di codifica in diversi linguaggi formali. La prima edizione si basava su SGML; le edizioni più recenti (l’ultima è TEI P5) possono essere espresse anche in formato XML;

Page 3: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

TEI vs. TEI Lite Le linee guida principali della TEI si sono rivelate spesso poco

pratiche per via della loro completezza e conseguente complessità

E’ stato perciò create un sottoinsieme noto come “TEI Lite”, fatto per coprire le esigente del 90% degli utenti

La traduzione italiana della descrizione della penultima versione di tale sottoinsieme si può leggere a http://www.tei-c.org/Guidelines/Customization/Lite/teiu5_it.xml

Per le specifiche dell’ultima versione (TEI5) si veda:http://www.tei-c.org/release/doc/tei-p5-exemplars/html/teilite.doc.html

Page 4: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Struttura generale di un testo TEI Tutti i testi conformi alla TEI contengono:

A. una intestazione (codificata come elemento <teiHeader>)

B. la trascrizione del testo vero e proprio (marcata con l’elemento <text>).

L'intestazione TEI contiene informazioni analoghe a quelle contenute nel frontespizio di un testo a stampa.

Fino a quattro parti: 1. una descrizione bibliografica del testo memorizzato

su supporto digitale, 2. una descrizione del modo nel quale è stato codificato,3. una descrizione non bibliografica del testo (un profilo

del testo), 4. un elenco delle revisioni.

Page 5: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Tipologia di testi Un testo TEI può essere unitario (un’opera

singola) o composito (una collezione di opere, come un’antologia).

In entrambi i casi, il testo può avere un peritesto iniziale o un peritesto finale facoltativi.

In mezzo c’è il corpo del testo, che, nel caso di un testo composito, può essere costituito da gruppi, ciascuno dei quali può a sua volta contenere più gruppi o testi.

Page 6: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Struttura generale Un testo unitario sarà codificato usando una

struttura generale come questa:<TEI>

<teiHeader> [informazioni dell'intestazione TEI]</teiHeader> <text>

<front> [materiali del peritesto iniziale (opzionali)] </front> <body> [testo unitario] </body> <back> [materiali del peritesto finale (opzionali)] </back>

</text> </TEI>

Page 7: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Struttura generale: testo composto<TEI>

<teiHeader> [informazioni dell'intestazione TEI]</teiHeader> <text>

<front> [materiali del peritesto iniziale del testo complessivo] </front> <group>

<text> <front> [materiali del peritesto iniziale del testo 1] </front> <body> [testo 1] </body> <back> [materiali del peritesto finale del testo 1] </back> </text> <text> <front> [materiali del peritesto iniziale del testo 2] </front> <body> [testo 2] </body> <back> [materiali del peritesto finale del testo 2] </back> </text>

</group><back> [materiali del peritesto finale del testo complessivo] </back>

</text> </TEI>

Page 8: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Un semplice documento TEI è dunque costituito, al livello testuale, dai seguenti elementi:

<front> Contiene qualsiasi materiale peritestuale (intestazioni,

frontespizio, prefazioni, dediche, etc.) che si trovi prima dell'inizio del testo vero e proprio.

<group> Raggruppa un insieme di testi unitari o di gruppi di testi.

<body> Contiene l'intero corpo di un singolo testo unitario, con

l'esclusione di ogni elemento peritestuale.<back>

Contiene qualsiasi appendice che segua la parte principale di un testo.

Page 9: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Elementi di ripartizione testuale <p>

Codifica i paragrafi in prosa. <div>

Contiene una sezione del peritesto o del corpo di un testo.

<div1> Contiene una sezione di primo livello del peritesto o

del corpo di un testo (la più ampia, se <div0> non è usato, altrimenti la seconda in ordine gerarchico).

Si può andare avanti fino a <div7> (o usare un elemento non numerato <div>: un elemento <div> può essere suddiviso in elementi più piccoli <div>, senza limiti alla profondità di annidamento)

Page 10: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Attributi delle ripartizioni testuali type

Indica il nome convenzionale per questa categoria di partizione del testo. Il suo valore sarà generalmente Libro, Capitolo, Poesia, etc. Altri possibili valori includono Gruppo per gruppi di poesie, etc., trattati come un'unità singola, Sonetto, Discorso o Canzone.

Si noti che qualsiasi valore venga fornito per l'attributo type del primo <div>, <div1>, <div2>, etc., in un dato testo, si assume che sia valido per tutte le successive <div>, <div1>, all'interno dello stesso <body>.

id Specifica un identificatore unico per la partizione, che può essere usato per

creare riferimenti incrociati o altri collegamenti (ad esempio a un commento). Spesso è utile dare un attributo id a ogni unità strutturale importante di un

testo, e derivarne i valori in un modo sistematico, ad esempio aggiungendo un numero di sezione a un breve codice per il titolo dell'opera in questione.

n Specifica un breve nome mnemonico o un numero per la divisione, che può

essere usato per identificarla, preferendolo a id. Se già esiste una forma convenzionale di riferimento o un'abbreviazione per le parti di un lavoro (come il sistema libro/capitolo/verso delle citazioni bibliche), l'attributo n è il luogo deputato a registrarlo.

Page 11: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Il valore di ogni attributo id deve essere unico all'interno di un documento.

Un semplice modo per assicurarsi che questo avvenga è fare in modo che esso rifletta la struttura gerarchica del documento.

Esempio: i Principi di scienza nuova di Vico consistono di cinque libri, ognuno dei quali è diviso in sezioni, le quali sono ulteriormente suddivise in capitoli. Dunque:

<div1 id="PSN1" n="I" type="libro"> <div2 id="PSN101" n="I.1" type="sezione"> <div3 id="PSN10201" n="I.2.1" type="capitolo"> ...</div3> <div3 id="PSN10202" n="I.2.2" type="capitolo"> ... </div3> </div2> ... </div1> <div1 id="PSN2" n="II" type="libro"> .... </div1> ...

Page 12: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Codifica della struttura dei testi in versi o drammatici<l>

contiene una singola riga di poesia, eventualmente incompleta. Tra gli attributi:part

specifica se il verso è metricamente completo o meno. I valori legali sono: F per la parte finale di un verso incompleto, Y se la il verso è metricamente incompleto, N se il verso è completo, o se nessuna assunzione è fatta sulla sua completezza, I per la parte iniziale di un verso incompleto, M per la parte mediana di un verso incompleto.

<lg> contiene un gruppo di versi che costituiscono un'unità formale, per esempio una strofa,

un refrain, un paragrafo in versi, etc. <sp>

contiene una singola battuta in un testo drammatico, o un brano presentato come tale (cioè per la recitazione) in un testo in prosa o in versi. Tra gli attributi:

who identifica mediante un ID il soggetto parlante

<speaker> contiene una forma particolare di intestazione o etichetta, che fornisce i nomi di uno o

più parlanti in un testo o frammento drammatico. <stage>

contiene qualsiasi tipo di didascalie o direttive di scena all'interno di un testo o di un frammento di testo drammatico. Tra gli attributi:

type indica il tipo di didascalia. I valori consigliati includono entrata, uscita, scenografia,

dizione, etc.

Page 13: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Esempio:<lg> <l>S'i' fosse foco, ardere' il mondo;</l> <l>s'i' fosse vento, lo tempestarei;</l> <l>s'i' fosse acqua, i' l'annegherei;</l> <l>s'i' fosse Dio, mandereil en profondo;</l> </lg><lg> <l>s'i' fosse papa, serei allor giocondo,</l> <l>ché tutti ' cristiani embrigarei;</l> <l>s'i' fosse 'mperator, sa' che farei?</l> <l>a tutti mozzarei lo capo a tondo.</l> </lg> …

Page 14: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Numeri di pagina e di riga<pb/>

segnala i confini tra una pagina di un testo e la successiva in un sistema di riferimento standard.

<lb/> segnala l'inizio di una nuova riga (tipografica) in una

certa edizione o versione di un testo. Questi elementi marcano un punto singolo nel testo, non una sua porzione. L'attributo globale n dovrebbe essere usato per fornire il numero della pagina o della riga che inizia con il marcatore. Inoltre, questi due elementi condividono il seguente attributo:

ed indica l'edizione o versione in cui l'interruzione della

pagina è localizzata a questo punto.

Page 15: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Esempio (da B.Fenoglio “Una questione privata”)<p><q>&mdash; Perché hai deviato? &mdash;</q> domandò Ivan. <q>&mdash; Perché ora ti sei fermato? Cosa guardi? Quella casa? Perché ti interessi a quella casa?</q></p> <p><q>&mdash; Non la vedevo dal principio della guerra e non la rivedrò più prima della fine. Abbi pazienza cinque minuti Ivan.</q></p> <pb n="3" ed="TE90"/> <p><q>&mdash; Non è questione di pazienza ma di pelle. Quassù è pericoloso. Le pattuglie.</q></q> <p><q>&mdash; Non si azzardano fin quassù. Al massimo arrivano alla strada ferrata.</q></p> <p><q>&mdash; Da' retta a me, Milton, pompiamo. L'asfalto non mi piace.</q></p> <p><q>&mdash; Qui non siamo sull'asfalto, &mdash;</q> rispose Milton che si era fissato sulla villa.</p> <p><q>&mdash; Ci passa proprio sotto, &mdash;</q> e Ivan additò un tratto dello <pb n="1001" ed="EG92"/> stradale subito a valle della cresta, con l'asfalto qua e là sfondato, sdrucito dappertutto</p>

Page 16: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Stylesheet: qualche cenno XSL (eXtensible Stylesheet Language) Parte di XSL specifica delle regole di

trasformazione (XSLT “eXtensible Stylesheet Language Transformation”), che consentono di trasformare un documento marcato in XML in un altro documento (tipicamente, XML o HTML)

Altre parti di XSL sono Xpath (Una sintassi che specifica come individuare le specifiche parti di un documento XML) e XSL-FO (“Formatting Objects”: regole di formattazione generali).

Page 17: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Stylesheet: uso tipico

Per la visualizzazione di un documento, un combito tipico di un file XSL è trasformare le etichette XML in altre visualizzabili da un browser (XHTML)

Page 18: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Da XML ad un “result tree”

Page 19: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Esempio: ingredienti marcati<prologo>Questa minestra sa di poco, ma vedendola usata non di rado ne' pranzi di gusto straniero, ve la descrivo.</prologo><ingredienti><ingrediente quant=“3” unità=“unità”>Uova, n. 3. </ingrediente><ingrediente quant=“30” unità=“grammi”>Farina, grammi 30. </ingrediente><ingrediente quant=“1” unità=“noci”>Burro, quanto una noce. </ingrediente></ingredienti><descrizione>Lavorate prima i tre rossi con la farina e il burro, aggiungete le tre chiare montate e cuocere il composto al forno o al forno da campagna entro a uno stampo liscio il cui fondo sia coperto di una carta unta. Quando questo pane sarà cotto e diacciato, tagliatelo a dadi o a piccole mandorle, versategli il brodo bollente sopra e mandatelo in tavola con parmigiano a parte. Dose per sei o sette persone.</descrizione>

Page 20: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

XSL<xsl:template match=“ingredienti">

<table> <xsl:for-each select=“ingrediente"> <tr> <td><xsl:apply-templates/></td>

<td><strong> <xsl:value-of select=“@unità”>

<xsl:text>: </xsl:text> <xsl:value-of select=“@quant”>

</strong></td>

</tr> </xsl:for-each >

</table> </xsl:template>

Si applica al materiale marcato “ingredienti”

Per ciascun “ingrediente”

Inserisce il contenuto di “ingrediente”

Quindi inserisce il contenuto dell’attributo “unità” di “ingrediente”

Page 21: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Compressione di dati testuali

Page 22: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Compressione di dati testuali

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

Page 23: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 24: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 dei simboli di una lingua, che permettono di omettere determinate informazioni e ricostruirle integralmente.

Page 25: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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.

Esempi di compressione lossless sono i formati .zip, .cab, .gz, ecc.

Page 26: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 27: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 28: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 29: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,
Page 30: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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

La tabella deve essere trasmessa col messaggio.

Page 31: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 32: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 33: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 34: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 35: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 36: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 37: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 38: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 39: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 40: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 41: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 42: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 43: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 44: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 45: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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 46: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

Messaggio di A

Chiave pubblica A

Chiave privataA

A

Messaggio di A

Chiave pubblica B

Chiave privataB

B

Criptazione

Trasmissione

Decriptazione

Firma digitale

Page 47: Lezione 6 TEI Lite, XSL, Compressione di dati Materiali adattati da ,

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