Teoria dell’Informazione (Classica) Andrea G. B. Tettamanzi Università degli Studi di Milano Dipartimento di Tecnologie dell’Informazione
Lezione 10 11 novembre 2002
Decodifica CANALE Decodifica Regola di decisione
Caso più semplice Se ricevo che cosa sarà stato inviato?
Criterio di massima verosimiglianza Per la regola di Bayes: Nel caso di distribuzione uniforme di X
Errore con Criterio di M.V.
Distanza di Hamming e C.M.V. CANALE diminuisce al crescere di Quindi, il C.M.V. dice: prendi la w più vicina.
Richiami di Algebra Gruppi Gruppi ciclici Sottogruppi Laterali Anelli, ideali, classi di resto Campi
Gruppi è un gruppo sse 1 2 3 Abeliano sse
Tabella di Cayley - Ogni riga o colonna contiene tutti gli elementi del gruppo - Se il gruppo è abeliano, la tabella è simmetrica
Periodo di un elemento Se il gruppo è finito, Periodo di un elemento:
Gruppi ciclici Gruppo ciclico: elementi sono tutti potenze di qualche elemento. Ogni gruppo ciclico è abeliano. Infatti, Inoltre, tutti i gruppi ciclici dello stesso ordine sono isomorfi. gruppo astratto di ordine p
Sottogruppi Soddisfa gli assiomi di gruppo Sottogruppo normale sse Ogni sottogruppo di un gruppo abeliano è normale
Laterali di un gruppo Rappresentante del laterale
Teorema di Lagrange L’ordine di ogni sottogruppo H di un gruppo finito G è un divisore dell’ordine di G. Espansione di G nei laterali di H: Ma non viceversa! Se H è normale, i laterali di G rispetto ad H formano un guppo detto quoziente
Anelli anello sse gruppo abeliano rispetto a + e 1 2 3 Commutativo sse
Ideali sottogruppo (ideale destro) (ideale sinistro) Un ideale è un sottogruppo normale
Classi di resto Le classi di resto di un anello su un ideale sono a loro volta un anello: l’anello delle classi di resto
Ideali e classi di resto sugli interi Un insieme di numeri interi è un ideale sse costituito da tutti i multipli di un intero n; allora si denota con (n) Ogni classe di resti costruita sull’ideale (n) contiene 0 o un intero minore di n. Tutti i numeri da 1 a n – 1 sono in classi di resto distinte, 0 è un elemento dell’ideale.
Campi Un anello con elemento neutro 1 rispetto al prodotto e inverso: Dato un numero primo p, è un campo Esiste solo un campo di ordine 2 ed è denotato GF(2)
Teorema di Fermat p primo a non divisibile per p divisibile per p Dimostrazione tutti diversi tra loro Uguali a meno di permutazioni c.v.d.
Lezione 11 14 novembre 2002
Elementi di Algebra Polinomiale Polinomi come generalizzazione della rappresentazione posizionale dei numeri Polinomi con coefficienti su GF(2) Algebre lineari associative Ampliamento algebrico di GF(p) Radici di polinomi Scomposizione in fattori
Polinomi come generalizzazione della rappresentazione posizionale dei numeri N-uple di cifre binarie Polinomi con coefficienti in GF(2)
Polinomi con coefficienti su GF(2) Polinomio di grado Polinomio irriducibile Numero primo Somma Prodotto È un anello!
Proprietà dell’anello dei Polinomi con coefficienti in GF(2) Un insieme di polinomi è un ideale sse è costituito da tutti i multipli di un polinomio. Ogni classe di resto dell’anello dei polinomi, costruita sull’ideale (g(x)), con g(x) di grado n, contiene o 0 o un polinomio di grado minore di n. Tutti i polinomi di grado minore di n stanno in classi di resto distinte.
Algebra lineare associativa …su un campo F, è un anello X tale che,
Algebre Lineari Associative L’anello dei polinomi g(x) di grado n, è un’algebra lineare associativa di dimensione n sul campo F, ove si definisca Dimostrazione (che la dimensione è n): sono lin. indipendenti (una base) Perché questo polinomio è di grado minore di n e quindi non sta nella classe di resto di 0!
Ampliamento algebrico di GF(p) Da irriducibile su Si ottiene costruendo le classi di resto sull’ideale di g(x) Esempio:
Radici di polinomi di grado n irriducibile su I p – 1 elementi non nulli di GF(p) sono tutte le radici di
Scomposizione in fattori sse n divisibile per m divisibile per Ogni p(x) di grado m irriducibile su GF(p) è un fattore di Un polinomio irriducibile appartiene all’esponente e sse tutte le sue radici hanno periodo e. Un polinomio è primitivo se è irriducibile di grado m con coefficienti su GF(p) e ammette come radice un elemento primitivo del campo ampliamento.
Lezione 12 25 novembre 2002
Codici a rivelazione e correzione di errori Sorgente . . . 0 0 1 0 1 1 0 1 0 0 1 0 1 1 1 . . . . . . 0 0 1 0 1 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 1 0 Blocchi di lunghezza l codifica . . . 0 0 1 0 1 1 0 1 0 . 0 0 1 0 1 1 1 0 0 . 0 1 0 0 0 0 1 0 0 . . . Lunghezza n > l parità
Codificazione Tasso di trasmissione: Scelta di M parole tra le 2n possibili Parole di codice | Parole vuote
Rivelazione e correzione d’errore Codice Rivelazione di errore: Correzione di errore:
Codici lineari (1) spazio vettoriale a n dimensioni linearmente indipendenti Il codice lineare è il sottospazio vettoriale con base e distanza di Hamming d. Matrice generatrice:
Codici lineari (2) Peso di Hamming di w: numero di “1”. … sempre! Teorema:
Codifica e Decodifica H matrice di parità Si consideri la matrice identità di ordine k, Ciascuna riga della matrice identità corrisponde a un simbolo sorgente. Codifica: H matrice di parità Decodifica:
Codici sistematici Messaggio sorgente Controllo Per i codici sistematici, si ha:
Esempio: codice lineare (7, 4)
Sindrome Parola ricevuta Parola inviata Errore Tabella di decodifica: Correzione, secondo il Criterio di M.V.: . . . 0 0 . . . 1 . . . 1 0 . . . 0 Rappresentanti dei laterali
Lezione 13 28 novembre 2002
Codici di Hamming un codice in GF(2), detto di Hamming, La matrice di parità ha come colonne tutte le m-uple non nulle. Codici lineari accorciati: sopprimere r righe ed r colonne della matrice generatrice.
Codici di Reed e Muller sono le righe di una matrice che ha per colonne tutte le possibili m-uple di 0 e 1. di ordine r
Probabilità di errore residua probabilità di commettere i errori capacità di correzione di errori Probabilità di errore residua per un codice
Codici ciclici Sottoclasse dei codici lineari facile ed economica implementazione di codifica e decodifica buona capacità di rivelazione e correzione d’errore a distribuzione casuale a pacchetto elevato grado di utilizzabilità con tecnologia moderna (microprocessori, VLSI, ecc.).
Definizione di codice ciclico Un codice lineare K è ciclico sse implica che tutti i vettori ottenuti da w per rotazione ciclica appartengono a K. Esempio: 1010001 0100011 1000110 0001101 1101010 0110101 0011010
Rotazione ciclica modulo
Teorema V ideale: V ciclico: Un sottospazio V di un’algebra lineare associativa A modulo un polinomio di tipo è ciclico sse è un ideale. V ideale: V ciclico: E quindi V è un ideale di A
Teorema con Se allora l’ideale generato da g(x) ha k dimensioni. Dimostrazione: è una base dell’ideale: infatti, perché è di grado n – 1.
Codici ciclici e codici lineari Qualunque sottospazio ciclico di un’algebra lineare associativa modulo un polinomio ciclotomico è un codice ciclico. Sono codici ciclici gli ideali di un’algebra modulo polinomi ciclotomici Polinomio generatore di un codice ciclico Matrice generatrice di un codice lineare Esempio:
Costruzione di codici ciclici Costruzione di un codice ciclico Scomposizione divisibile per sse n divisibile per m Ogni p(x) di grado m irriducibile su GF(p) è un fattore di p(x) irriducibile Codici ciclici accorciati: sopprimere r righe ed r colonne della matrice generatrice (si ottiene un codice “pseudociclico”).
Codici ciclici e radici del polinomio generatore polinomio minimo di In altre parole, è l’ideale generato da e quindi
Calcolo della matrice di parità Vettori a p componenti Codice con radici
Teorema BCH (Bose - Chauduri - Hocquengem) La distanza di Hamming di un codice ciclico generato dal polinomio g(x) è maggiore del più grande numero di radici consecutive di g(x). Dimostrazione (traccia): 1. Un codice K ha distanza non minore di d sse ogni insieme di d – 1 colonne di H è linearmente indipendente. 2. La distanza di un codice K è pari al più piccolo insieme di colonne di H la cui somma sia nulla. Quindi occorre dimostrare che il determinante di qualunque insieme di d – 1 colonne di è diverso da zero.
Codici BCH Codici ciclici il cui polinomio generatore è scelto in modo da avere il massimo numero di radici consecutive per un grado assegnato.
Lezione 14 2 dicembre 2002
Errori a pacchetto Errori solo a pacchetto: - Nastri magnetici - Dischi magnetici - RAM - ... Errori casuali e a pacchetto: - Doppino telefonico - Cavi coassiali - Microonde - ... Codici progettati per errori casuali inefficienti per errori a pacchetto
Errori su supporti magnetici
Errori sulle linee di trasmissione Rumore termico: “rapporto segnale/rumore” fruscio Rumore da impulso: “… click ...” 10 ms Distorsione: Crosstalk: interferenze Ritardi, eco, equalizzazione
Errori di trasmissione Studio commissionato da AT&T, 1969-1970 Linee a bassa ed alta velocità Esempio di risultati: 15 byte/s start bit stop bit Frequenze per byte 1% delle comunicazioni contiene il 90% degli errori Ma, dato empirico, per le linee telefoniche
Pachetti di errori (burst) trasmissione 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 1 0 1 0 0 1 0 1 0 + 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 parola di errore burst
Teorema Un codice ciclico (n, k) può rivelare tutti i pacchetti di errori di lunghezza al più n – k. Dimostrazione: sindrome Ma se e non sono multipli di
Limite di Reiger Un codice a correzione di errori a pacchetto può correggere tutti i pacchetti di lunghezza b o meno a patto che il numero di simboli di controllo soddisfi la diseguaglianza Dimostrazione (traccia): i burst di lunghezza 2b devono essere diversi da qualsiasi parola di codice... Efficienza di un codice a correzione di errori a pacchetto:
Alcuni c.c. per la correzione di burst (7, 3) (15, 9) (19, 11) (27, 17) (34, 22) (38, 24) (50, 34) (56, 38) (59, 39) ... 2 3 4 5 6 7 8 9 10 ... 11101 1111001 1001101001 10110111001 1101001111011 1001100011110001 10010100101011001 1101000101111111011 100000000011011101001 . . .
Codici di Fire irriducibile di grado primi tra di loro è il polinomio generatore di un codice di Fire di lunghezza Corregge pacchetti fino a lunghezza b rivela pacchetti fino a lunghezza d
Tecniche di interlacciamento Interlacciatore Deinterlacciatore canale
Codici Interlacciati grado di interlacciamento Corregge fino a d errori casuali Corregge fino a d errori casuali Corregge errori a pacchetto fino a lunghezza id
Esempio Codice (15, 9) con interlacciamento di grado 5: 6 11 16 21 26 31 36 41 46 51 56 61 66 71 2 7 12 17 22 27 32 37 42 47 52 57 62 67 72 3 8 13 18 23 28 33 38 43 48 53 58 63 68 73 4 9 14 19 24 29 34 39 44 49 54 59 64 69 74 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 simboli di messaggio simboli di controllo
Lezione 15 5 dicembre 2002
Cenni di Teoria della Trasmissione Trasmissione fisica di segnali Analisi di Fourier Segnali a banda limitata Campionamento Velocità massima di un canale
Trasmissione fisica di segnali segnale ricevuto segnale inviato tensione linea di trasmissione dati segnale campionato
Funzioni periodiche n-esimo armonico periodo continua e integrabile Serie di Fourier Frequenza fondamentale n-esimo armonico
Analisi di Fourier
Domini del tempo e delle frequenze
Esempio Trasmettere il carattere ASCII “b”: 1 Segnale:
Esempio (segue)
Banda Trasmissione a b bit/s di l bit: frequenza fondamentale frequenza dell’n-esimo armonico filtro “passabasso”
Esempio: linee telefoniche 3000 Hz 0 Hz 3000 Hz 0 Hz [bit/s] [ms] [Hz] 300 600 1200 2400 4800 9600 19200 38400 26,67 13,33 6,67 3,33 1,67 0,83 0,42 0,21 37,5 75 150 300 600 1200 2400 4800 80 40 20 10 5 2 1
Campionamento segnale originale segnale campionato Nyquist (Teorema del campionamento): permette di ricostruire completamente il segnale originale.
Velocità massima Nyquist (1924): limite fondamentale per la velocità di segnalazione in un canale senza rumore. Per un segnale a V livelli discreti, Shannon (1948), per canale con rumore:
Lezione 16 9 dicembre 2002
Criptologia Crittografia Criptanalisi Metodi e tecniche di cifratura di messaggi Metodi e tecniche per decifrare codici cifrati Steganografia Metodi e tecniche per l’occultamento di messaggi
Applicazioni Diplomatiche / militari (fino alla II^ Guerra Mondiale) Spionaggio / controspionaggio industriale Pay TV (via cavo / etere / satellite) Electronic Banking (carte di credito, bancomat, trasferimenti) Protezione della privacy Home banking Commercio elettronico
Modello generale Sorgente del messaggio intrusione passiva intrusione attiva Destinazione testo in chiaro testo in chiaro canale cifratura decifrazione testo cifrato testo cifrato Sorgente della chiave
Cifratura e decifrazione Sistemi simmetrici Sistemi asimmetrici
Criptanalisi Attacco basato solo su testo cifrato Analisi della struttura del testo cifrato Caratteristiche statistiche del testo Trovare la chiave Attacco basato su testo noto Criptanalista è riuscito a penetrare nel sistema Utente malizioso del sistema Attacco basato su testo scelto Situazione più favorevole Sistemi di cifratura per word processor (es.)
Il fattore tempo Cifratura di dati statici Cifratura di trasmissioni
Ermeticità Ricerca per tentativi del messaggio in chiaro impossibile in tempi utili anche usando il calcolatori più rapidi (ermeticità computazionale) Impossibilità di tipo operativo Impossibile significa sufficientemente difficile Ipotesi: “la parte avversa conosce il sistema utilizzato” pessimistica sicura realistica a lungo andare
Sistemi di cifratura Cifratura a blocco - Cifratura continua Tecniche fondamentali per la cifratura a blocco: Sostituzione: A B C D E F G H I L M N O P Q R S T U V Z Z V U T S R Q P O N M L I H G F E D C B A Es.: LATTACCOINIZIERAALLEDIECI NZDDZUUIOLOAOSFZZNNSTOSUO Trasposizione: LATTA CCOIN IZIER AALLE DIECI TAALT OCNCI IZRIE LAEAL EIIDC Es.: 32514
Codice di Cesare A Z B Y C X C D B E D F A W G E Z H V Y F I U X J G W T K H V L S I U M T N J R O S Q R Q P K P L O N M
Sostituzione generalizzata 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 B D G K P V C L U E Q A Z H Y J M X O W T S R N I F Parola mnemonica: “PORK E CINDY” 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 P O R K E C I N D Y A B F G H J L M Q S T U V W X Z Oppure: P O R K E C I N D Y A B F G H J L M Q S T U V W X Z 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 P A T O B U R F V K G W E H X C J Z I L N M D Q Y S
Sostituzione polialfabetica ABCDEFGHIJKLMNOPQRSTUVWXYZ BCDEFGHIJKLMNOPQRSTUVWXYZA CDEFGHIJKLMNOPQRSTUVWXYZAB DEFGHIJKLMNOPQRSTUVWXYZABC EFGHIJKLMNOPQRSTUVWXYZABCD FGHIJKLMNOPQRSTUVWXYZABCDE GHIJKLMNOPQRSTUVWXYZABCDEF HIJKLMNOPQRSTUVWXYZABCDEFG IJKLMNOPQRSTUVWXYZABCDEFGH JKLMNOPQRSTUVWXYZABCDEFGHI KLMNOPQRSTUVWXYZABCDEFGHIJ LMNOPQRSTUVWXYZABCDEFGHIJK MNOPQRSTUVWXYZABCDEFGHIJKL NOPQRSTUVWXYZABCDEFGHIJKLM OPQRSTUVWXYZABCDEFGHIJKLMN PQRSTUVWXYZABCDEFGHIJKLMNO QRSTUVWXYZABCDEFGHIJKLMNOP RSTUVWXYZABCDEFGHIJKLMNOPQ STUVWXYZABCDEFGHIJKLMNOPQR TUVWXYZABCDEFGHIJKLMNOPQRS UVWXYZABCDEFGHIJKLMNOPQRST VWXYZABCDEFGHIJKLMNOPQRSTU WXYZABCDEFGHIJKLMNOPQRSTUV XYZABCDEFGHIJKLMNOPQRSTUVW YZABCDEFGHIJKLMNOPQRSTUVWX ZABCDEFGHIJKLMNOPQRSTUVWXY Quadrato di Vignère Chiave: PIPPERO P I P P E R O L A T T A C C A I I I E T Q O I N I Z E R D Q C X D V C A A L L E D I P I A A I U V E C I T K X
Sistemi a trasposizione Suddivisione in blocchi e permutazione: LATTA CCOIN IZIER AALLE DIECI TAALT OCNCI IZRIE LAEAL EIIDC Interlacciamento: LATTA CCOIN IZIER AALLE DIECI LCIADACZAITOILETIELCANREI Due trasposizioni bustrofediche, orizzontale e verticale: LATTA NIOCC IZIER ELLAA DIECI LNIEDILZIATOILECAECTACRAI
Cifratura continua T E S T O I N C H I A R O + V E R M E = T E S T O C I F R A T O Esempio: … L A T T A C C O I N I Z I E R A A L L E D I E C I … 10 01 18 18 01 03 03 13 09 12 09 21 09 05 16 01 01 10 10 05 04 09 05 03 09 17 01 18 06 27 12 09 02 07 20 15 10 02 13 11 08 16 03 05 00 16 13 02 05 18 06 02 15 03 07 15 12 15 16 11 03 10 11 18 06 09 17 13 15 05 20 01 07 08 06 F B Q C G Q N Q R M C L M T F I S O Q E V A G H F
Lezione 17 12 dicembre 2002
Informazione e sicurezza Messaggi in chiaro Messaggi cifrati Chiavi
Equivocazioni Equivocazione della chiave: Equivocazione del messaggio: Dati il messaggio cifrato e la chiave, il messaggio in chiaro è determinato:
Equivocazione di apparenza della chiave Dimostrazione:
Dilemma Punto di vista dell’utente: Incertezza sulla chiave dato il messaggio in chiaro e cifrato… Meglio se alta! Incertezza sul messaggio in chiaro dato il messaggio cifrato… Deve essere massima! Obiettivi conflittuali
Informazione mutua Punto di vista dell’utente: rendere l’informazione mutua tra M e C la più piccola possibile... Situazione ideale: Il testo cifrato non dà nessuna informazione sul testo in chiaro Sistema crittografico assolutamente sicuro
Teorema Dimostrazione: siccome Per l’equivocazione di apparenza della chiave, Per definizione, La tesi segue dalla definizione di
Lunghezza del testo cifrato Più lungo è il testo cifrato, più alta è la probabilità di trovare la chiave Messaggio cifrato di lunghezza L
Teorema Sia r il numero di simboli diversi in un messaggio. Allora, con ridondanza assoluta. Dimostrazione:
Distanza di unicità Quindi, in media, Distanza di unicità: lunghezza minima di testo cifrato necessaria per poter trovare la chiave
Lezione 18 16 dicembre 2002
Tecniche crittografiche moderne Data Encryption Standard (DES) Crittografia a chiave pubblica Algoritmo RSA
Data Encryption Standard (DES) Sviluppato dall’IBM Adottato nel gennaio del 1977 dal Governo degli USA come standard ufficiale per informazioni non classificate Implementato in hardware Versione originale a 128 bit (chiave a 128 bit) Versione a 64 bit (chiave a 56 bit) su richiesta NSA (!)
DES: schema dell’algoritmo Blocco di l bit “in chiaro” chiave di k bit Trasposizione (P-box) 1° stadio Sostituzione (S-box) sotto-chiave 1 ... Trasposizione (P-box) n° stadio Sostituzione (S-box) sotto-chiave n Blocco di l bit “in cifra”
P-box 7 36071245
S-box P-box 3 : 8 8 : 3 36071245
trasposizione iniziale Algoritmo DES testo in chiaro 64 bit trasposizione iniziale iterazione 1 . . . chiave 56 bit iterazione 16 scambio a 32 bit inversione testo in cifra 64 bit
Itarazione i-esima 32 bit 32 bit
32 bit 48 bit 56 bit 8x6 bit S S S S S S S S 8x4 bit 32 bit P
Stabilire una comunicazione sicura Pippo Gigi
Crittografia a chiave pubblica (Diffie e Hellman, 1976) Algoritmo di cifratura Algoritmo di decifrazione 1 2 È estremamente difficile calcolare da 3 E è resistente a un attacco con testo in chiaro noto chiave pubblica
Protocollo “ti devo dire un segreto” “ho capito!” Pippo Gigi
Algoritmo RSA Rivest, Shamir, Adleman (1978) 1 Scegliere due primi 2 3 Scegliere d primo rispetto a z 4 Trovare