La matematica dell orologio
|
|
|
- Antonella Miele
- 10 anni fa
- Visualizzazioni
Transcript
1 La matematica dell orologio Un aritmetica inusuale: I numeri del nostro ambiente sono: 0,1,2,...,11 e corrispondono alle ore di un nostro orologio Le operazioni sono intese in questo modo: 1 somma: a+b è l ora che si ottiene spostando la lancetta dalla posizione a in avanti di b ore; 2 prodotto: a b è l ora che si ottiene sommando a a sé stessa b volte. I risultati nella matematica dell orologio vengono distinti dagli altri mediante l espressione (mod 12)
2 La matematica dell orologio Un aritmetica inusuale: I numeri del nostro ambiente sono: 0,1,2,...,11 e corrispondono alle ore di un nostro orologio Le operazioni sono intese in questo modo: 1 somma: a+b è l ora che si ottiene spostando la lancetta dalla posizione a in avanti di b ore; 2 prodotto: a b è l ora che si ottiene sommando a a sé stessa b volte. I risultati nella matematica dell orologio vengono distinti dagli altri mediante l espressione (mod 12) Esercizio 1 Calcolare 7 3 (mod 12), 8 4 (mod 12), 10 5 (mod 12)
3 La matematica dell orologio Un aritmetica inusuale: I numeri del nostro ambiente sono: 0,1,2,...,11 e corrispondono alle ore di un nostro orologio Le operazioni sono intese in questo modo: 1 somma: a+b è l ora che si ottiene spostando la lancetta dalla posizione a in avanti di b ore; 2 prodotto: a b è l ora che si ottiene sommando a a sé stessa b volte. I risultati nella matematica dell orologio vengono distinti dagli altri mediante l espressione (mod 12) Esercizio 1 Calcolare 7 3 (mod 12), 8 4 (mod 12), 10 5 (mod 12) Esercizio 2 Riflettere sul rapporto che c è fra i risultati usuali e i risultati (mod 12).
4 Problema 1 Provare a dare una definizione matematica di a+b (mod 12) e di a b (mod 12) che non faccia uso dell orologio.
5 Problema 1 Provare a dare una definizione matematica di a+b (mod 12) e di a b (mod 12) che non faccia uso dell orologio. Quindi: 1 a+b (mod 12) è il resto della divisione di a+b per 12; 2 a b (mod 12) è il resto della divisione di a b per 12.
6 Problema 1 Provare a dare una definizione matematica di a+b (mod 12) e di a b (mod 12) che non faccia uso dell orologio. Quindi: 1 a+b (mod 12) è il resto della divisione di a+b per 12; 2 a b (mod 12) è il resto della divisione di a b per 12. Gara 1 Calcolare 7 15 (mod 12) nel minor tempo possibile senza calcolatrice
7 Problema 1 Provare a dare una definizione matematica di a+b (mod 12) e di a b (mod 12) che non faccia uso dell orologio. Quindi: 1 a+b (mod 12) è il resto della divisione di a+b per 12; 2 a b (mod 12) è il resto della divisione di a b per 12. Gara 1 Calcolare 7 15 (mod 12) nel minor tempo possibile senza calcolatrice Idea chiave: elevare a potenza nella matematica dell orologio può essere un operazione molto più veloce di quello che si potrebbe immaginare
8 Generalizziamo: Aritmetica modulare Non c è niente di speciale nel numero 12. Sostituiamolo con un numero intero n qualsiasi, purchè maggiore di 1. I numeri del nostro ambiente sono: 0,1,2,...,n 1 Le operazioni sono intese in questo modo: 1 a+b (mod n) è il resto della divisione di a+b per n; 2 a b (mod n) è il resto della divisione di a b per n.
9 Generalizziamo: Aritmetica modulare Non c è niente di speciale nel numero 12. Sostituiamolo con un numero intero n qualsiasi, purchè maggiore di 1. I numeri del nostro ambiente sono: 0,1,2,...,n 1 Le operazioni sono intese in questo modo: 1 a+b (mod n) è il resto della divisione di a+b per n; 2 a b (mod n) è il resto della divisione di a b per n. Questo insieme numerico viene indicato con il simbolo Z n = {0,1,...,n 2,n 1}
10 Generalizziamo: Aritmetica modulare Non c è niente di speciale nel numero 12. Sostituiamolo con un numero intero n qualsiasi, purchè maggiore di 1. I numeri del nostro ambiente sono: 0,1,2,...,n 1 Le operazioni sono intese in questo modo: 1 a+b (mod n) è il resto della divisione di a+b per n; 2 a b (mod n) è il resto della divisione di a b per n. Questo insieme numerico viene indicato con il simbolo Z n = {0,1,...,n 2,n 1} Quando è chiaro che ci stiamo riferendo ad operazioni in Z n possiamo omettere l espressione (mod n).
11 Generalizziamo: Aritmetica modulare Non c è niente di speciale nel numero 12. Sostituiamolo con un numero intero n qualsiasi, purchè maggiore di 1. I numeri del nostro ambiente sono: 0,1,2,...,n 1 Le operazioni sono intese in questo modo: 1 a+b (mod n) è il resto della divisione di a+b per n; 2 a b (mod n) è il resto della divisione di a b per n. Questo insieme numerico viene indicato con il simbolo Z n = {0,1,...,n 2,n 1} Quando è chiaro che ci stiamo riferendo ad operazioni in Z n possiamo omettere l espressione (mod n). Esercizio 3 Calcolare: (mod 14), (mod 19), (mod 20), senza usare la calcolatrice
12 Esempio crittografico: n = 21 Gli elementi di Z 21 sono identificati con le lettere dell alfabeto A 0 B 1 C 2 D 3 E 4 F 5 G 6 H 7 I 8 L 9 M 10 N 11 O 12 P 13 Q 14 R 15 S 16 T 17 U 18 V 19 Z 20
13 Il cifrario di Cesare: Testi in chiaro: Z 21 Testi cifrati: Z 21 Chiavi: Z 21 Codifica: e k (x) = x +k (mod 21)
14 Il cifrario di Cesare: Testi in chiaro: Z 21 Testi cifrati: Z 21 Chiavi: Z 21 Codifica: e k (x) = x +k (mod 21) Una possibile generalizzazione: Testi in chiaro: Z 21 Testi cifrati: Z 21 Chiavi: Z 21 Z 21 Codifica: e a,b (x) = a x +b (mod 21)
15 Esperimento 1 A gruppi di 4, calcolate le funzioni di codifica relative alle seguenti chiavi: (3,0), (3,1), (2,0), (2,1). Discutere i risultati ottenuti.
16 Esperimento 1 A gruppi di 4, calcolate le funzioni di codifica relative alle seguenti chiavi: (3,0), (3,1), (2,0), (2,1). Discutere i risultati ottenuti. Perchè le chiavi con a = 3 non sono adeguate mentre quelle con a = 2 sì?
17 Esperimento 1 A gruppi di 4, calcolate le funzioni di codifica relative alle seguenti chiavi: (3,0), (3,1), (2,0), (2,1). Discutere i risultati ottenuti. Perchè le chiavi con a = 3 non sono adeguate mentre quelle con a = 2 sì? Quale è secondo voi la motivazione di natura matematica?
18 Esperimento 1 A gruppi di 4, calcolate le funzioni di codifica relative alle seguenti chiavi: (3,0), (3,1), (2,0), (2,1). Discutere i risultati ottenuti. Perchè le chiavi con a = 3 non sono adeguate mentre quelle con a = 2 sì? Quale è secondo voi la motivazione di natura matematica? a x 1 = a x 2 per qualche x 1 x 2
19 Esperimento 1 A gruppi di 4, calcolate le funzioni di codifica relative alle seguenti chiavi: (3,0), (3,1), (2,0), (2,1). Discutere i risultati ottenuti. Perchè le chiavi con a = 3 non sono adeguate mentre quelle con a = 2 sì? Quale è secondo voi la motivazione di natura matematica? a x 1 = a x 2 per qualche x 1 x 2 Quale congettura di carattere generale vi sentireste di formulare al riguardo? Come si distinguono le chiavi valide da quelle non valide (se necessario, provate anche altre chiavi!)
20 Esperimento 1 A gruppi di 4, calcolate le funzioni di codifica relative alle seguenti chiavi: (3,0), (3,1), (2,0), (2,1). Discutere i risultati ottenuti. Perchè le chiavi con a = 3 non sono adeguate mentre quelle con a = 2 sì? Quale è secondo voi la motivazione di natura matematica? a x 1 = a x 2 per qualche x 1 x 2 Quale congettura di carattere generale vi sentireste di formulare al riguardo? Come si distinguono le chiavi valide da quelle non valide (se necessario, provate anche altre chiavi!) Come provereste a dimostrare tale congettura?
21 Esperimento 1 A gruppi di 4, calcolate le funzioni di codifica relative alle seguenti chiavi: (3,0), (3,1), (2,0), (2,1). Discutere i risultati ottenuti. Perchè le chiavi con a = 3 non sono adeguate mentre quelle con a = 2 sì? Quale è secondo voi la motivazione di natura matematica? a x 1 = a x 2 per qualche x 1 x 2 Quale congettura di carattere generale vi sentireste di formulare al riguardo? Come si distinguono le chiavi valide da quelle non valide (se necessario, provate anche altre chiavi!) Come provereste a dimostrare tale congettura? deve esistere x con ax = 1 (mod 21) ax = c Ciò è implica MCD(a,21) = 1. Viceversa, se MCD(a,21) = 1 allora ax 1 = ax 2 non può mai verificarsi dato che 21 divide a(x 1 x 2 )
22 Cifrario affine Testi in chiaro: Z 21 Testi cifrati: Z 21 Chiavi: A Z 21 dove A = {a Z 21 MCD(a,21) = 1} = {1,2,4,5,8,10,11,13,16,17,19,20} Codifica: e a,b (x) = a x +b (mod 21)
23 Cifrario affine Testi in chiaro: Z 21 Testi cifrati: Z 21 Chiavi: A Z 21 dove A = {a Z 21 MCD(a,21) = 1} = {1,2,4,5,8,10,11,13,16,17,19,20} Codifica: e a,b (x) = a x +b (mod 21) Gara 2 Decodificare il seguente messaggio, sapendo che è stato cifrato con un cifrario affine: lo qtpobzh avb pmt eohvdo ctznvt od rmtcgh ponbvgoztdgh ntv sb nvhccozb stuohdt link verifica:
24 La divisione in Z n. Abbiamo visto che in Z 21 vale la seguente proprietà: MCD(a,21) = 1 esiste b in Z 21 con ab = 1 (mod 21)
25 La divisione in Z n. Abbiamo visto che in Z 21 vale la seguente proprietà: MCD(a,21) = 1 esiste b in Z 21 con ab = 1 (mod 21) È facile dimostrare che la stessa proprietà vale in Z n : MCD(a,n) = 1 esiste b in Z n con ab = 1 (mod n)
26 La divisione in Z n. Abbiamo visto che in Z 21 vale la seguente proprietà: MCD(a,21) = 1 esiste b in Z 21 con ab = 1 (mod 21) È facile dimostrare che la stessa proprietà vale in Z n : MCD(a,n) = 1 esiste b in Z n con ab = 1 (mod n) Nell ambiente numerico Z n la divisione non è sempre possibile: esiste se e solo se MCD(a,n) = 1 1 a
27 La divisione in Z n. Abbiamo visto che in Z 21 vale la seguente proprietà: MCD(a,21) = 1 esiste b in Z 21 con ab = 1 (mod 21) È facile dimostrare che la stessa proprietà vale in Z n : MCD(a,n) = 1 esiste b in Z n con ab = 1 (mod n) Nell ambiente numerico Z n la divisione non è sempre possibile: esiste se e solo se MCD(a,n) = 1 1 a Problema: come calcolare 1/a?
28 La divisione in Z n. Abbiamo visto che in Z 21 vale la seguente proprietà: MCD(a,21) = 1 esiste b in Z 21 con ab = 1 (mod 21) È facile dimostrare che la stessa proprietà vale in Z n : MCD(a,n) = 1 esiste b in Z n con ab = 1 (mod n) Nell ambiente numerico Z n la divisione non è sempre possibile: esiste se e solo se MCD(a,n) = 1 1 a Problema: come calcolare 1/a? Esperimento 2 Calcolare (se possibile): 1 2 in Z in Z in Z 22 1 in Z 22
29 Un metodo più veloce: l algoritmo euclideo n dividendo; a divisore divisione euclidea: n = qa+r con 0 r a 1 poniamo q := q 0 e r := r 1
30 Un metodo più veloce: l algoritmo euclideo n dividendo; a divisore divisione euclidea: n = qa+r con 0 r a 1 poniamo q := q 0 e r := r 1 Passi successivi: a = q 1 r 1 +r 2 r 1 = q 2 r 2 +r 3 r 2 = q 3 r 3 +r 4... r i 1 = q i r i +r i+1...
31 Un metodo più veloce: l algoritmo euclideo n dividendo; a divisore divisione euclidea: n = qa+r con 0 r a 1 poniamo q := q 0 e r := r 1 Passi successivi: a = q 1 r 1 +r 2 r 1 = q 2 r 2 +r 3 r 2 = q 3 r 3 +r 4... r i 1 = q i r i +r i+1... Ad un certo punto il resto diventa uguale a 0. L ultimo resto non nullo è il Massimo Comun Divisore di n e a.
32 Un metodo più veloce: l algoritmo euclideo n dividendo; a divisore divisione euclidea: n = qa+r con 0 r a 1 poniamo q := q 0 e r := r 1 Passi successivi: a = q 1 r 1 +r 2 r 1 = q 2 r 2 +r 3 r 2 = q 3 r 3 +r 4... r i 1 = q i r i +r i+1... Ad un certo punto il resto diventa uguale a 0. L ultimo resto non nullo è il Massimo Comun Divisore di n e a. Nel caso in cui MCD(n,a) = 1 è facile trovare x,y tali che 1 = nx +ay.
33 Un metodo più veloce: l algoritmo euclideo n dividendo; a divisore divisione euclidea: n = qa+r con 0 r a 1 poniamo q := q 0 e r := r 1 Passi successivi: a = q 1 r 1 +r 2 r 1 = q 2 r 2 +r 3 r 2 = q 3 r 3 +r 4... r i 1 = q i r i +r i+1... Ad un certo punto il resto diventa uguale a 0. L ultimo resto non nullo è il Massimo Comun Divisore di n e a. Nel caso in cui MCD(n,a) = 1 è facile trovare x,y tali che 1 = nx +ay. Conseguenza: y mod n è proprio 1/a in Z n
34 Esempio Come trovare l inverso di 12 in Z 53?
35 Esempio Come trovare l inverso di 12 in Z 53? Algoritmo euclideo 53 = = = = 2 1+0
36 Esempio Come trovare l inverso di 12 in Z 53? Algoritmo euclideo 53 = = = = = = = Risalendo le uguaglianze dal basso si scopre che... 1 = = 5 2(12 2 5) 1 = ( ) 2(12 2 ( )) 1 =
37 Esempio Come trovare l inverso di 12 in Z 53? Algoritmo euclideo 53 = = = = = = = Risalendo le uguaglianze dal basso si scopre che... 1 = = 5 2(12 2 5) 1 = ( ) 2(12 2 ( )) 1 = Pertanto = 1 (mod 53) 1 = 22 = 31 (mod 53) 12
38 Esempio Come trovare l inverso di 12 in Z 53? Algoritmo euclideo 53 = = = = = = = Risalendo le uguaglianze dal basso si scopre che... 1 = = 5 2(12 2 5) 1 = ( ) 2(12 2 ( )) 1 = Pertanto Gara = 1 (mod 53) 1 = 22 = 31 (mod 53) 12 Determinare 1/11 in Z 63
39 L algoritmo euclideo nel linguaggio MAGMA Istruzioni r:=(a mod b); while (r ne 0) do a:=b; b:=r; r:=(a mod b); end while; MCD:=b; MCD;
40 L algoritmo euclideo nel linguaggio MAGMA Istruzioni con contapassi r:=(a mod b); cont:=1; while (r ne 0) do a:=b; b:=r; r:=(a mod b); cont:=cont+1; end while; MCD:=b; MCD; cont;
41 Esperimento 3 Calcolare con MAGMA i MCD di coppie di numeri sempre più grandi e il numero di divisioni effettuate. Quanti passi vi aspettavate in teoria? (ordine di grandezza rispetto a b)
42 Esperimento 3 Calcolare con MAGMA i MCD di coppie di numeri sempre più grandi e il numero di divisioni effettuate. Quanti passi vi aspettavate in teoria? (ordine di grandezza rispetto a b) Quanti passi sono stati necessari in realtà?
43 Esperimento 3 Calcolare con MAGMA i MCD di coppie di numeri sempre più grandi e il numero di divisioni effettuate. Quanti passi vi aspettavate in teoria? (ordine di grandezza rispetto a b) Quanti passi sono stati necessari in realtà? Quale congettura potreste formulare relativamente a tale numero di passi? (Suggerimento: provare divisori che siano potenze di 2)
44 Esperimento 3 Calcolare con MAGMA i MCD di coppie di numeri sempre più grandi e il numero di divisioni effettuate. Quanti passi vi aspettavate in teoria? (ordine di grandezza rispetto a b) Quanti passi sono stati necessari in realtà? Quale congettura potreste formulare relativamente a tale numero di passi? (Suggerimento: provare divisori che siano potenze di 2) Come potreste provare tale congettura?
45 Esperimento 3 Calcolare con MAGMA i MCD di coppie di numeri sempre più grandi e il numero di divisioni effettuate. Quanti passi vi aspettavate in teoria? (ordine di grandezza rispetto a b) Quanti passi sono stati necessari in realtà? Quale congettura potreste formulare relativamente a tale numero di passi? (Suggerimento: provare divisori che siano potenze di 2) Come potreste provare tale congettura? r i 1 r i + r i+1 2r i+1
46 Confronto con il metodo della scuola media... Esperimento 4 Provate ad usare MAGMA per calcolare il massimo comun divisore di numeri sempre più grandi. Potete usare direttamante il comando GCD(a,b) Sempre con MAGMA, fattorizzate quegli stessi numeri con il comando Factorization(n); Confrontate i tempi di esecuzione.
47 Confronto con il metodo della scuola media... Esperimento 4 Provate ad usare MAGMA per calcolare il massimo comun divisore di numeri sempre più grandi. Potete usare direttamante il comando GCD(a,b) Sempre con MAGMA, fattorizzate quegli stessi numeri con il comando Factorization(n); Confrontate i tempi di esecuzione. Esempio: a = b = Confrontare GCD(a,b) con Factorization(a)
48 Primo Riepilogo Nell aritmetica modulare: Somma e prodotto:
49 Primo Riepilogo Nell aritmetica modulare: Somma e prodotto: veloci
50 Primo Riepilogo Nell aritmetica modulare: Somma e prodotto: veloci Divisione:
51 Primo Riepilogo Nell aritmetica modulare: Somma e prodotto: veloci Divisione: veloce - algoritmo euclideo
52 Primo Riepilogo Nell aritmetica modulare: Somma e prodotto: veloci Divisione: veloce - algoritmo euclideo Fattorizzazione:
53 Primo Riepilogo Nell aritmetica modulare: Somma e prodotto: veloci Divisione: veloce - algoritmo euclideo Fattorizzazione: lenta
54 Primo Riepilogo Nell aritmetica modulare: Somma e prodotto: veloci Divisione: veloce - algoritmo euclideo Fattorizzazione: lenta Elevamento a potenza:?
55 Primo Riepilogo Nell aritmetica modulare: Somma e prodotto: veloci Divisione: veloce - algoritmo euclideo Fattorizzazione: lenta Elevamento a potenza:? Logaritmo:?
56 Il vero cifrario di Diffie-Hellman Chiave pubblica: (1) un numero primo p; (2) un elemento di Z p, diciamo A; (3) una potenza di A, diciamo A B (mod p). Chiave privata: l esponente B (compreso fra 1 e p 2). Codifica di un messaggio M Z p : il mittente sceglie un intero casuale compreso fra 1 e p 2, diciamo C e invia, i valori (M (A B ) C,A C ). Decodifica di un messaggio (α,β): M = α/β B.
57 Il vero cifrario di Diffie-Hellman Chiave pubblica: (1) un numero primo p; (2) un elemento di Z p, diciamo A; (3) una potenza di A, diciamo A B (mod p). Chiave privata: l esponente B (compreso fra 1 e p 2). Codifica di un messaggio M Z p : il mittente sceglie un intero casuale compreso fra 1 e p 2, diciamo C e invia, i valori (M (A B ) C,A C ). Decodifica di un messaggio (α,β): M = α/β B. Gara 4 Divisi in tre squadre, impersonate i ruoli di mittente, opponente e destinatario. Supponiamo che parte della chiave pubblica del destinatario sia p = 29, A = 2. La squadra destinatario sceglie B e comunica a tutta la classe A B (mod p). Misuriamo i tempi in cui: la squadra mittente codifica un messaggio scelto a caso la squadra destinatario decodifica tale messaggio la squadra opponente decodifica tale messaggio
58 Elevamento a potenza in Z n Sia n un numero di 1024 cifre binarie (circa 308 cifre decimali). Problema: Fissato A in Z n, e B esponente compreso fra 1 e n 1, quante moltiplicazioni in Z n sono necessarie per calcolare A B (mod n)?
59 Elevamento a potenza in Z n Sia n un numero di 1024 cifre binarie (circa 308 cifre decimali). Problema: Fissato A in Z n, e B esponente compreso fra 1 e n 1, quante moltiplicazioni in Z n sono necessarie per calcolare A B (mod n)? Esperimento 5 Scegliere un numero n con 300 cifre (esempio: ) Scegliere due numeri A e B minori di n Provare a calcolare con MAGMA il prodotto A A A (mod n) per B volte
60 Elevamento a potenza in Z n Sia n un numero di 1024 cifre binarie (circa 308 cifre decimali). Problema: Fissato A in Z n, e B esponente compreso fra 1 e n 1, quante moltiplicazioni in Z n sono necessarie per calcolare A B (mod n)? Esperimento 5 Scegliere un numero n con 300 cifre (esempio: ) Scegliere due numeri A e B minori di n Provare a calcolare con MAGMA il prodotto A A A (mod n) per B volte Deve esistere un metodo molto più veloce, altrimenti non potremmo usare Diffie-Hellman!
61 Elevamento a potenza in Z n Sia n un numero di 1024 cifre binarie (circa 308 cifre decimali). Problema: Fissato A in Z n, e B esponente compreso fra 1 e n 1, quante moltiplicazioni in Z n sono necessarie per calcolare A B (mod n)? Esperimento 5 Scegliere un numero n con 300 cifre (esempio: ) Scegliere due numeri A e B minori di n Provare a calcolare con MAGMA il prodotto A A A (mod n) per B volte Deve esistere un metodo molto più veloce, altrimenti non potremmo usare Diffie-Hellman! Tentiamo con il comando Modexp(A,B,n)
62 Elevamento a potenza in Z n Sia n un numero di 1024 cifre binarie (circa 308 cifre decimali). Problema: Fissato A in Z n, e B esponente compreso fra 1 e n 1, quante moltiplicazioni in Z n sono necessarie per calcolare A B (mod n)? Esperimento 5 Scegliere un numero n con 300 cifre (esempio: ) Scegliere due numeri A e B minori di n Provare a calcolare con MAGMA il prodotto A A A (mod n) per B volte Deve esistere un metodo molto più veloce, altrimenti non potremmo usare Diffie-Hellman! Tentiamo con il comando Modexp(A,B,n) Quale potrebbe essere l idea alla base di Modexp?
63 Square and Multiply Supponiamo di voler calcolare (mod 832)
64 Square and Multiply Supponiamo di voler calcolare (mod 832) Sfruttiamo la scrittura di 637 in base 2: 637 = = e quindi (mod 832) = (mod 832); apparentemente il problema non sembra semplificato.
65 Square and Multiply Supponiamo di voler calcolare (mod 832) Sfruttiamo la scrittura di 637 in base 2: e quindi 637 = = (mod 832) = (mod 832); apparentemente il problema non sembra semplificato. Ma 35 2 = 79 (mod 832) e possiamo proseguire con le potenze di 2 e calcolare 35 4 (mod 832): basta osservare che 35 4 = (mod 832) e quindi 35 4 = 79 2 = 129 (mod 832)
66 Procedendo con lo stesso sistema si ottengono: 35 2 = 79 (mod 832) 35 4 = 79 2 = 129 (mod 832) 35 8 = = 215 (mod 832) = = 3 (mod 832) = 3 2 = 9 (mod 832) = 9 2 = 81 (mod 832) = 81 2 = 67 (mod 832) = 67 2 = 287 (mod 832) = = 239 (mod 832)
67 Procedendo con lo stesso sistema si ottengono: 35 2 = 79 (mod 832) 35 4 = 79 2 = 129 (mod 832) 35 8 = = 215 (mod 832) = = 3 (mod 832) = 3 2 = 9 (mod 832) = 9 2 = 81 (mod 832) = 81 2 = 67 (mod 832) = 67 2 = 287 (mod 832) = = 239 (mod 832) Quindi (mod 832) = (mod 832). Il risultato finale = 121 (mod 832)
68 Procedendo con lo stesso sistema si ottengono: 35 2 = 79 (mod 832) 35 4 = 79 2 = 129 (mod 832) 35 8 = = 215 (mod 832) = = 3 (mod 832) = 3 2 = 9 (mod 832) = 9 2 = 81 (mod 832) = 81 2 = 67 (mod 832) = 67 2 = 287 (mod 832) = = 239 (mod 832) Quindi (mod 832) = (mod 832). Il risultato finale = 121 (mod 832) Esercizio 4 Calcolare col metodo square and multiply le seguenti potenze modulo n = 92:
69 Secondo Riepilogo Nell aritmetica modulare: Somma e prodotto: veloci Divisione: veloce - algoritmo euclideo Elevamento a potenza: veloce - square and multiply Fattorizzazione: lenta
70 Secondo Riepilogo Nell aritmetica modulare: Somma e prodotto: veloci Divisione: veloce - algoritmo euclideo Elevamento a potenza: veloce - square and multiply Fattorizzazione: lenta Logaritmo:?
71 Logaritmo in Z n Esperimento 6 Scrivere tutte le potenze di 2 in R con esponente compreso fra 1 e 200 Ripetere lo stesso conteggio modulo p, con p = 557 Discutere i risultati ottenuti
72 Logaritmo in Z n Esperimento 6 Scrivere tutte le potenze di 2 in R con esponente compreso fra 1 e 200 Ripetere lo stesso conteggio modulo p, con p = 557 Discutere i risultati ottenuti Conseguenza: Non esistono algoritmi veloci per il calcolo di logaritmi in aritmetica modulare
73 Riepilogo Nell aritmetica modulare: Somma e prodotto: veloci Divisione: veloce - algoritmo euclideo Elevamento a potenza: veloce - square and multiply Logaritmo: lento Fattorizzazione: lenta
74 La funzione toziente di Eulero Problema: Quanti sono gli elementi invertibili in Z n?
75 La funzione toziente di Eulero Problema: Quanti sono gli elementi invertibili in Z n? Il numero di questi elementi si indica con φ(n). La funzione φ si chiama funzione toziente di Eulero
76 La funzione toziente di Eulero Problema: Quanti sono gli elementi invertibili in Z n? Il numero di questi elementi si indica con φ(n). La funzione φ si chiama funzione toziente di Eulero Se n è un numero primo, quanto vale φ(n)?
77 La funzione toziente di Eulero Problema: Quanti sono gli elementi invertibili in Z n? Il numero di questi elementi si indica con φ(n). La funzione φ si chiama funzione toziente di Eulero Se n è un numero primo, quanto vale φ(n)? n-1 Il caso più interessante per noi è quello in cui n = pq, dove p e q sono numeri primi.
78 La funzione toziente di Eulero Problema: Quanti sono gli elementi invertibili in Z n? Il numero di questi elementi si indica con φ(n). La funzione φ si chiama funzione toziente di Eulero Se n è un numero primo, quanto vale φ(n)? n-1 Il caso più interessante per noi è quello in cui n = pq, dove p e q sono numeri primi. Esperimento 7 Determinare φ(n) per n = 6,10,15,21,...
79 La funzione toziente di Eulero Problema: Quanti sono gli elementi invertibili in Z n? Il numero di questi elementi si indica con φ(n). La funzione φ si chiama funzione toziente di Eulero Se n è un numero primo, quanto vale φ(n)? n-1 Il caso più interessante per noi è quello in cui n = pq, dove p e q sono numeri primi. Esperimento 7 Determinare φ(n) per n = 6,10,15,21,... Congetturare una regola generale per φ(n) nel caso n = pq con p,q primi.
80 La funzione toziente di Eulero Problema: Quanti sono gli elementi invertibili in Z n? Il numero di questi elementi si indica con φ(n). La funzione φ si chiama funzione toziente di Eulero Se n è un numero primo, quanto vale φ(n)? n-1 Il caso più interessante per noi è quello in cui n = pq, dove p e q sono numeri primi. Esperimento 7 Determinare φ(n) per n = 6,10,15,21,... Congetturare una regola generale per φ(n) nel caso n = pq con p,q primi. Provare a dimostrare tale congettura.
81 Il piccolo Teorema di Fermat Esperimento 8 Scrivere le potenze di tutti gli elementi non nulli di Z 5 ;
82 Il piccolo Teorema di Fermat Esperimento 8 Scrivere le potenze di tutti gli elementi non nulli di Z 5 ; Scrivere le potenze di tutti gli elementi non nulli di Z 7 ;
83 Il piccolo Teorema di Fermat Esperimento 8 Scrivere le potenze di tutti gli elementi non nulli di Z 5 ; Scrivere le potenze di tutti gli elementi non nulli di Z 7 ; Scrivere le potenze di tutti gli elementi non nulli di Z 11 ;
84 Il piccolo Teorema di Fermat Esperimento 8 Scrivere le potenze di tutti gli elementi non nulli di Z 5 ; Scrivere le potenze di tutti gli elementi non nulli di Z 7 ; Scrivere le potenze di tutti gli elementi non nulli di Z 11 ; Osservare i risultati
85 Il piccolo Teorema di Fermat Esperimento 8 Scrivere le potenze di tutti gli elementi non nulli di Z 5 ; Scrivere le potenze di tutti gli elementi non nulli di Z 7 ; Scrivere le potenze di tutti gli elementi non nulli di Z 11 ; Osservare i risultati Formulare una congettura generale sul valore di a p (mod p)
86 Il piccolo Teorema di Fermat Esperimento 8 Scrivere le potenze di tutti gli elementi non nulli di Z 5 ; Scrivere le potenze di tutti gli elementi non nulli di Z 7 ; Scrivere le potenze di tutti gli elementi non nulli di Z 11 ; Osservare i risultati Formulare una congettura generale sul valore di a p (mod p) Provare a dimostrare tale congettura
87 Il piccolo Teorema di Fermat Esperimento 8 Scrivere le potenze di tutti gli elementi non nulli di Z 5 ; Scrivere le potenze di tutti gli elementi non nulli di Z 7 ; Scrivere le potenze di tutti gli elementi non nulli di Z 11 ; Osservare i risultati Formulare una congettura generale sul valore di a p (mod p) Provare a dimostrare tale congettura Teorema 1 (Piccolo teorema di Fermat) Sia p un numero primo e sia a un intero qualsiasi. Allora a p = a (mod p)
88 Se a = 0 (mod p), allora a p = a = 0 (mod p)
89 Se a = 0 (mod p), allora a p = a = 0 (mod p) Se a 0 (mod p), allora possiamo consideriamo le potenze di a = a 0,a 1,a 2,..., tutte calcolate (mod p)
90 Se a = 0 (mod p), allora a p = a = 0 (mod p) Se a 0 (mod p), allora possiamo consideriamo le potenze di a = a 0,a 1,a 2,..., tutte calcolate (mod p) Per qualche 0 i j p 1 si avranno due potenze uguali: a i = a j (mod p) (perchè?)
91 Se a = 0 (mod p), allora a p = a = 0 (mod p) Se a 0 (mod p), allora possiamo consideriamo le potenze di a = a 0,a 1,a 2,..., tutte calcolate (mod p) Per qualche 0 i j p 1 si avranno due potenze uguali: a i = a j (mod p) (perchè?) Questo vuol dire che a j i = 1 (mod p) (perché?)
92 Se a = 0 (mod p), allora a p = a = 0 (mod p) Se a 0 (mod p), allora possiamo consideriamo le potenze di a = a 0,a 1,a 2,..., tutte calcolate (mod p) Per qualche 0 i j p 1 si avranno due potenze uguali: a i = a j (mod p) (perchè?) Questo vuol dire che a j i = 1 (mod p) (perché?) Sia s p 1 il minimo intero positivo tale che a s = 1 (mod p)
93 Se a = 0 (mod p), allora a p = a = 0 (mod p) Se a 0 (mod p), allora possiamo consideriamo le potenze di a = a 0,a 1,a 2,..., tutte calcolate (mod p) Per qualche 0 i j p 1 si avranno due potenze uguali: a i = a j (mod p) (perchè?) Questo vuol dire che a j i = 1 (mod p) (perché?) Sia s p 1 il minimo intero positivo tale che a s = 1 (mod p) Le potenze distinte di a sono 1,a,a 2,...,a s 1. Dopodichè, dato che a s = 1, si ripetono. Per ogni b Z p, gli elementi b,ba,ba 2,...,ba s 1 sono in numero di s
94 Se a = 0 (mod p), allora a p = a = 0 (mod p) Se a 0 (mod p), allora possiamo consideriamo le potenze di a = a 0,a 1,a 2,..., tutte calcolate (mod p) Per qualche 0 i j p 1 si avranno due potenze uguali: a i = a j (mod p) (perchè?) Questo vuol dire che a j i = 1 (mod p) (perché?) Sia s p 1 il minimo intero positivo tale che a s = 1 (mod p) Le potenze distinte di a sono 1,a,a 2,...,a s 1. Dopodichè, dato che a s = 1, si ripetono. Per ogni b Z p, gli elementi b,ba,ba 2,...,ba s 1 sono in numero di s L insieme degli elementi non nulli di Z p è ripartito in tali gruppi di s elementi
95 Se a = 0 (mod p), allora a p = a = 0 (mod p) Se a 0 (mod p), allora possiamo consideriamo le potenze di a = a 0,a 1,a 2,..., tutte calcolate (mod p) Per qualche 0 i j p 1 si avranno due potenze uguali: a i = a j (mod p) (perchè?) Questo vuol dire che a j i = 1 (mod p) (perché?) Sia s p 1 il minimo intero positivo tale che a s = 1 (mod p) Le potenze distinte di a sono 1,a,a 2,...,a s 1. Dopodichè, dato che a s = 1, si ripetono. Per ogni b Z p, gli elementi b,ba,ba 2,...,ba s 1 sono in numero di s L insieme degli elementi non nulli di Z p è ripartito in tali gruppi di s elementi s divide p 1
96 Il Teorema di Eulero - forma debole L argomento vale per ogni n sostituendo l espressione elementi non nulli di Z p con elementi invertibili in Z n.
97 Il Teorema di Eulero - forma debole L argomento vale per ogni n sostituendo l espressione elementi non nulli di Z p con elementi invertibili in Z n. Teorema 2 (Teorema di Eulero - forma debole) Sia n un intero positivo e sia a un elemento di Z n tale che MCD(a,n) = 1. Allora a kφ(n)+1 = a (mod n)
98 Il Teorema di Eulero - forma debole L argomento vale per ogni n sostituendo l espressione elementi non nulli di Z p con elementi invertibili in Z n. Teorema 2 (Teorema di Eulero - forma debole) Sia n un intero positivo e sia a un elemento di Z n tale che MCD(a,n) = 1. Allora a kφ(n)+1 = a (mod n) Esercizio 5 Verificare il Teorema di Eulero in forma debole per le seguenti coppie di interi: n = 10, a = 3; n = 20, a = 3; n = 15, a = 7.
99 Il Teorema di Eulero - forma debole L argomento vale per ogni n sostituendo l espressione elementi non nulli di Z p con elementi invertibili in Z n. Teorema 2 (Teorema di Eulero - forma debole) Sia n un intero positivo e sia a un elemento di Z n tale che MCD(a,n) = 1. Allora a kφ(n)+1 = a (mod n) Esercizio 5 Verificare il Teorema di Eulero in forma debole per le seguenti coppie di interi: n = 10, a = 3; n = 20, a = 3; n = 15, a = 7. Esperimento 9 L ipotesi MCD(a, n) = 1 è veramente necessaria. Il comando MAGMA per la funzione di Eulero è EulerPhi(n).
100 Il Teorema di Eulero - forma debole L argomento vale per ogni n sostituendo l espressione elementi non nulli di Z p con elementi invertibili in Z n. Teorema 2 (Teorema di Eulero - forma debole) Sia n un intero positivo e sia a un elemento di Z n tale che MCD(a,n) = 1. Allora a kφ(n)+1 = a (mod n) Esercizio 5 Verificare il Teorema di Eulero in forma debole per le seguenti coppie di interi: n = 10, a = 3; n = 20, a = 3; n = 15, a = 7. Esperimento 9 L ipotesi MCD(a, n) = 1 è veramente necessaria. Il comando MAGMA per la funzione di Eulero è EulerPhi(n). controesempi per n = 8,12,16,20,24,28,32 e a = 2
101 Il Teorema di Eulero - forma RSA Teorema 3 (Teorema di Eulero - forma debole) Sia n un intero positivo della forma n = pq con p e q primi, e sia a un elemento qualsiasi di Z n. Allora a kφ(n)+1 = a (mod n)
102 Il Teorema di Eulero - forma RSA Teorema 3 (Teorema di Eulero - forma debole) Sia n un intero positivo della forma n = pq con p e q primi, e sia a un elemento qualsiasi di Z n. Allora a kφ(n)+1 = a (mod n) Esperimento 10 Verificare il Teorema per un certo numero di casi con l aiuto di Magma.
103 Il crittosistema RSA: esempio Chiave pubblica di Ryanair: Modulo (1024 bit): AE 64 DD 3D D9 56 AB 5B 18 D1 03 3F 68 6B F4 F7 73 5B A1 C7 B3 1D CE A8 3E 57 FC B E0 81 AC C1 72 F5 4F E0 F5 8E 47 5B 93 D6 33 D6 21 F9 9F C5 47 C B D1 3A 88 5B 3B A 92 8E 17 0A 74 F7 EA C0 E5 A9 BD E FC 86 C2 F FE AA D4 8D 8D 8F CD B9 DE D3 47 C1 A6 33 C9 F2 A8 A8 DC 02 3F C3 4F 4A A7 F3 D2 A4 69 A8 15 E5 Esponente pubblico: Convertitore:
104 Modulo: n= Esponente pubblico: e=65537
105 RSA Chiave pubblica: n, e
106 RSA Chiave pubblica: n, e Chiave privata: 1 p,q numeri primi tali che n = p q 2 d Z φ(n) tale che d = 1/e (mod φ(n))
107 RSA Chiave pubblica: n, e Chiave privata: 1 p,q numeri primi tali che n = p q 2 d Z φ(n) tale che d = 1/e (mod φ(n)) Codifica di un messaggio M Z n : M e (mod n)
108 RSA Chiave pubblica: n, e Chiave privata: 1 p,q numeri primi tali che n = p q 2 d Z φ(n) tale che d = 1/e (mod φ(n)) Codifica di un messaggio M Z n : Decodifica di un messaggio M e (mod n) M = (M e ) d
109 RSA Chiave pubblica: n, e Chiave privata: 1 p,q numeri primi tali che n = p q 2 d Z φ(n) tale che d = 1/e (mod φ(n)) Codifica di un messaggio M Z n : Decodifica di un messaggio M e (mod n) M = (M e ) d Perché è corretta la decodifica?
110 RSA Chiave pubblica: n, e Chiave privata: 1 p,q numeri primi tali che n = p q 2 d Z φ(n) tale che d = 1/e (mod φ(n)) Codifica di un messaggio M Z n : Decodifica di un messaggio M e (mod n) M = (M e ) d Perché è corretta la decodifica? Grazie al Teorema di Eulero ed = 1 (mod φ(n)) ed = k φ(n)+1 (M e ) d = M ed = M kφ(n)+1 = M
111 Fattibilità calcolo di n a partire da p e q: moltiplicazione calcolo di d: divisione in Z φ(n) codifica: elevamento a potenza decodifica: elevamento a potenza
112 Fattibilità calcolo di n a partire da p e q: moltiplicazione calcolo di d: divisione in Z φ(n) codifica: elevamento a potenza decodifica: elevamento a potenza calcolo di p e q: PROBLEMA
113 Fattibilità calcolo di n a partire da p e q: moltiplicazione calcolo di d: divisione in Z φ(n) codifica: elevamento a potenza decodifica: elevamento a potenza calcolo di p e q: PROBLEMA Nota: è il più grande numero primo conosciuto della forma 2 2n +1 (in questo caso n = 4). Per questa caratteristica viene comunemente usato come esponente pubblico. Al tempo stesso è (a) abbastanza grande (b) primo (c) in forma tale da velocizzare square and multiply
114 Sicurezza Risalire da M e a M conoscendo e e n? Serve d Risalire a d conoscendo e e n? Serve φ(n) Risalire a φ(n) conoscendo n? Servono p e q
115 Sicurezza Risalire da M e a M conoscendo e e n? Serve d Risalire a d conoscendo e e n? Serve φ(n) Risalire a φ(n) conoscendo n? Servono p e q Se si è sicuri che nessuno riesca a fattorizzare n, allora il sistema può considerarsi sicuro.
116 Sicurezza Risalire da M e a M conoscendo e e n? Serve d Risalire a d conoscendo e e n? Serve φ(n) Risalire a φ(n) conoscendo n? Servono p e q Se si è sicuri che nessuno riesca a fattorizzare n, allora il sistema può considerarsi sicuro. Il PROBLEMA: Se non si conosce un metodo per fattorizzare un numero di 150 cifre, come faccio a costruire due numeri primi di 150 cifre?
117 Sicurezza Risalire da M e a M conoscendo e e n? Serve d Risalire a d conoscendo e e n? Serve φ(n) Risalire a φ(n) conoscendo n? Servono p e q Se si è sicuri che nessuno riesca a fattorizzare n, allora il sistema può considerarsi sicuro. Il PROBLEMA: Se non si conosce un metodo per fattorizzare un numero di 150 cifre, come faccio a costruire due numeri primi di 150 cifre? SOLUZIONE Usare numeri che sono primi con probabilità arbitrariamente alta (per capirci, per cento)
118 Esperimento 11 Considerare due numeri primi molto grandi: p := NextPrime( ) q := NextPrime(p )
119 Esperimento 11 Considerare due numeri primi molto grandi: p := NextPrime( ) q := NextPrime(p ) Calcolarne il prodotto n
120 Esperimento 11 Considerare due numeri primi molto grandi: p := NextPrime( ) q := NextPrime(p ) Calcolarne il prodotto n Provare a fattorizzare n con il comando Factorization
121 Esperimento 11 Considerare due numeri primi molto grandi: p := NextPrime( ) q := NextPrime(p ) Calcolarne il prodotto n Provare a fattorizzare n con il comando Factorization Usereste questa chiave a tutela della vostra riservatezza e del vostro denaro?
122 Esperimento 11 Considerare due numeri primi molto grandi: p := NextPrime( ) q := NextPrime(p ) Calcolarne il prodotto n Provare a fattorizzare n con il comando Factorization Usereste questa chiave a tutela della vostra riservatezza e del vostro denaro? Provare con questo algoritmo: trovato:=false; i:=1; while not trovato do m:=n + i 2 ; if IsSquare(m) then trovato:=true; bool,t:=issquare(m); t; P:=t-i; P; Q:=t+i; Q; end if; i:=i+1; end while;
123 Cosa è successo? Idea dell algoritmo: per tentativi provare a controllare se per caso n+i 2 è un quadrato perfetto (test veloce)
124 Cosa è successo? Idea dell algoritmo: per tentativi provare a controllare se per caso n+i 2 è un quadrato perfetto (test veloce) In tal caso da n+i 2 = t 2 segue n = t 2 i 2 = (t i) (t +i)
125 Cosa è successo? Idea dell algoritmo: per tentativi provare a controllare se per caso n+i 2 è un quadrato perfetto (test veloce) In tal caso da n+i 2 = t 2 segue n = t 2 i 2 = (t i) (t +i) Secondo voi, quali sono le chiavi deboli per questo algoritmo?
126 Chiavi deboli L algoritmo appena visto si chiama Algoritmo di Fermat, e abbiamo visto che ha successo nel caso in cui p e q siano relativamente vicini
127 Chiavi deboli L algoritmo appena visto si chiama Algoritmo di Fermat, e abbiamo visto che ha successo nel caso in cui p e q siano relativamente vicini Ne esistono altri di algoritmi di fattorizzazione che risultano veloci se p e q hanno determinate proprietà
128 Chiavi deboli L algoritmo appena visto si chiama Algoritmo di Fermat, e abbiamo visto che ha successo nel caso in cui p e q siano relativamente vicini Ne esistono altri di algoritmi di fattorizzazione che risultano veloci se p e q hanno determinate proprietà Un altro esempio di chiave debole è quella in cui p 1 o q 1 si fattorizzano in tanti fattori primi piccoli
129 Chiavi deboli L algoritmo appena visto si chiama Algoritmo di Fermat, e abbiamo visto che ha successo nel caso in cui p e q siano relativamente vicini Ne esistono altri di algoritmi di fattorizzazione che risultano veloci se p e q hanno determinate proprietà Un altro esempio di chiave debole è quella in cui p 1 o q 1 si fattorizzano in tanti fattori primi piccoli Per questo si tende a scegliere p = 2p 1 +1 e q = 2q 1 +1 con p 1 e q 1 primi
130 Chiavi deboli L algoritmo appena visto si chiama Algoritmo di Fermat, e abbiamo visto che ha successo nel caso in cui p e q siano relativamente vicini Ne esistono altri di algoritmi di fattorizzazione che risultano veloci se p e q hanno determinate proprietà Un altro esempio di chiave debole è quella in cui p 1 o q 1 si fattorizzano in tanti fattori primi piccoli Per questo si tende a scegliere p = 2p 1 +1 e q = 2q 1 +1 con p 1 e q 1 primi Pare che una percentuale rilevante (compresa fra 1 e 10 per cento) delle chiavi RSA sia debole
131 Funzioni hash L hash (o digest) di un file ha gli stessi scopi dell impronta digitale di un individuo. Sintetizza un individuo/file in un formato unico (160 bit per i file) Si ottiene con relativa facilità Praticamente impossibile data un impronta digitale, risalire al file/individuo Praticamente impossibile dato un file/individuo, trovarne un altro con la stessa impronta Praticamente impossibile trovare due file/individui con la stessa impronta
132 Perché c è bisogno di una funzione hash? Integrità dei dati. Trasferimenti file di grosse dimensioni (E-mule, torrent, etc).
133 Perché c è bisogno di una funzione hash? Integrità dei dati. Trasferimenti file di grosse dimensioni (E-mule, torrent, etc). Autenticazione di un documento. Si calcola l impronta del file ottenuto combinando documento e chiave simmetrica.
134 Perché c è bisogno di una funzione hash? Integrità dei dati. Trasferimenti file di grosse dimensioni (E-mule, torrent, etc). Autenticazione di un documento. Si calcola l impronta del file ottenuto combinando documento e chiave simmetrica. Firma digitale. Non si firma l intero documento, ma la sua impronta.
135 Perché c è bisogno di una funzione hash? Integrità dei dati. Trasferimenti file di grosse dimensioni (E-mule, torrent, etc). Autenticazione di un documento. Si calcola l impronta del file ottenuto combinando documento e chiave simmetrica. Firma digitale. Non si firma l intero documento, ma la sua impronta. Per questi scopi è fondamentale che sia praticamente impossibile trovare due file con la stessa hash Una funzione hash deve essere resistente alle collisioni
136 Un modello ideale La funzione hash è calcolata da un oracolo in modo totalmente oscuro, che nessuno conosce. Casuale ma riproducibile.
137 Un modello ideale La funzione hash è calcolata da un oracolo in modo totalmente oscuro, che nessuno conosce. Casuale ma riproducibile. Si cerca di riprodurre per quanto possibile il modello oracolo casuale.
138 Un modello ideale La funzione hash è calcolata da un oracolo in modo totalmente oscuro, che nessuno conosce. Casuale ma riproducibile. Si cerca di riprodurre per quanto possibile il modello oracolo casuale. In tutti i nostri computer esistono algoritmi che simulano tale modello. Il più utilizzato al momento è SHA1. SHA=Secure Hash Algorithm FCIV - md5, sha1 nomefile.con.path in Windows, sha1sum nomefile in Linux
139 Un modello ideale La funzione hash è calcolata da un oracolo in modo totalmente oscuro, che nessuno conosce. Casuale ma riproducibile. Si cerca di riprodurre per quanto possibile il modello oracolo casuale. In tutti i nostri computer esistono algoritmi che simulano tale modello. Il più utilizzato al momento è SHA1. SHA=Secure Hash Algorithm FCIV - md5, sha1 nomefile.con.path in Windows, sha1sum nomefile in Linux SHA1 calcola un impronta di 160 bit Perché proprio 160 bit sono necessari per un impronta?
140 Il paradosso del compleanno In una classe di 23 alunni la probabilità che ve ne siano 2 con la stessa data di nascita supera il 50 per cento
141 Il paradosso del compleanno In una classe di 23 alunni la probabilità che ve ne siano 2 con la stessa data di nascita supera il 50 per cento In una classe di 40 alunni supera l 85 per cento
142 Il paradosso del compleanno In una classe di 23 alunni la probabilità che ve ne siano 2 con la stessa data di nascita supera il 50 per cento In una classe di 40 alunni supera l 85 per cento Teorema 4 Sia h una funzione casuale, associata ad un file/individuo, che può assumere M valori. Sia dato un insieme di 2M ln2 file/individui. Allora la probabilità di trovare due file/individui a cui è associato lo stesso valore supera il 50 per cento
143 Il paradosso del compleanno In una classe di 23 alunni la probabilità che ve ne siano 2 con la stessa data di nascita supera il 50 per cento In una classe di 40 alunni supera l 85 per cento Teorema 4 Sia h una funzione casuale, associata ad un file/individuo, che può assumere M valori. Sia dato un insieme di 2M ln2 file/individui. Allora la probabilità di trovare due file/individui a cui è associato lo stesso valore supera il 50 per cento Se l hash ha k bit, i possibili esiti di un hash sono 2 k. Pertanto in un insieme di circa 2 k = 2 k/2 file sarebbe abbastanza probabile trovare una collisione. Per questo motivo, ad esempio, un hash di 80 bit non sarebbe sicuro.
144 Dimostrazione del paradosso del compleanno Si consideri un insieme di n individui. La probabilità di trovarne due con lo stesso compleanno è P = (n 1). 365
145 Dimostrazione del paradosso del compleanno Si consideri un insieme di n individui. La probabilità di trovarne due con lo stesso compleanno è O anche P = (n 1). 365 P = 1 ( ) (1 2 (n 1) ) ( ).
146 Dimostrazione del paradosso del compleanno Si consideri un insieme di n individui. La probabilità di trovarne due con lo stesso compleanno è O anche P = (n 1). 365 P = 1 ( ) (1 2 (n 1) ) ( ). Per capirci qualcosa occorre considerare che per numeri x vicini allo zero si ha 1 x e x
147 Dimostrazione del paradosso del compleanno Si consideri un insieme di n individui. La probabilità di trovarne due con lo stesso compleanno è O anche P = (n 1). 365 P = 1 ( ) (1 2 (n 1) ) ( ). Per capirci qualcosa occorre considerare che per numeri x vicini allo zero si ha 1 x e x Pertanto approssimiamo P come segue P e 1/365 e 2/365 (n 1)/365 e 3/365 e
148 P e (n 1) 365 = e 1 2 (n 1) (n 2) 365
149 P e (n 1) 365 = e 1 2 (n 1) (n 2) 365 Eseguendo il logaritmo di ambo i membri lnp n2 3n
150 P e (n 1) 365 = e 1 2 (n 1) (n 2) 365 Eseguendo il logaritmo di ambo i membri lnp n2 3n Ulteriore approssimazione: n 2 3n+2 n 2. Pertanto lnp n
151 P e (n 1) 365 = e 1 2 (n 1) (n 2) 365 Eseguendo il logaritmo di ambo i membri lnp n2 3n Ulteriore approssimazione: n 2 3n+2 n 2. Pertanto lnp n Da qui segue l asserto: per P = 1/2 basta n = 23.
152 P e (n 1) 365 = e 1 2 (n 1) (n 2) 365 Eseguendo il logaritmo di ambo i membri lnp n2 3n Ulteriore approssimazione: n 2 3n+2 n 2. Pertanto lnp n Da qui segue l asserto: per P = 1/2 basta n = 23. In generale, se abbiamo M esiti (es per SHA1) allora per avere P = 1/2 occorre ln1/2 2 M n 2 n 2 ln2 M
153 Quale proprietà delle derivate abbiamo usato? Si veda fooplot.com
154 Il Teorema del Quinto A
155 Il Teorema del Quinto A Esperimento: scrivere tutti gli elementi invertibili di Z n :
156 Il Teorema del Quinto A Esperimento: scrivere tutti gli elementi invertibili di Z n : n = 10 1,3,7,9 n = 15 1,2,4,7,8,11,13,14 n = 22 1,3,5,7,9,13,15,17,19,21
157 Il Teorema del Quinto A Esperimento: scrivere tutti gli elementi invertibili di Z n : n = 10 1,3,7,9 n = 15 1,2,4,7,8,11,13,14 n = 22 1,3,5,7,9,13,15,17,19,21 Osservazione: la somma degli elementi invertibili di Z n è divisibile per n
158 Il Teorema del Quinto A Esperimento: scrivere tutti gli elementi invertibili di Z n : n = 10 1,3,7,9 n = 15 1,2,4,7,8,11,13,14 n = 22 1,3,5,7,9,13,15,17,19,21 Osservazione: la somma degli elementi invertibili di Z n è divisibile per n Congettura: per ogni intero positivo n > 1, a = 0 (mod n) a Z n,mcd(a,n)=1
159 Dimostrazione: 1 Se MCD(a,n) = 1 allora anche MCD(n a,n) = 1. Infatti ogni divisore d di n a e n sarebbe un divisore di a e quindi di a 2 Siano a 1,...,a s sono gli elementi di Z n primi con n e minori di n/2. Allora tutti gli elementi di Z n primi con n sono a 1,...,a s,n a 1,...,n a s 3 Pertanto la somma totale è uguale a a a s +n a n a s = n+...+n = 0 (mod n)
160 Dimostrazione: 1 Se MCD(a,n) = 1 allora anche MCD(n a,n) = 1. Infatti ogni divisore d di n a e n sarebbe un divisore di a e quindi di a 2 Siano a 1,...,a s sono gli elementi di Z n primi con n e minori di n/2. Allora tutti gli elementi di Z n primi con n sono a 1,...,a s,n a 1,...,n a s 3 Pertanto la somma totale è uguale a a a s +n a n a s = n+...+n = 0 (mod n) Teorema 5 Per ogni intero positivo n > 1, a Z n,mcd(a,n)=1 a = 0 (mod n)
161 La firma digitale Idea: la firma di un documento consiste nel mascherare il documento con la propria chiave privata
162 La firma digitale Idea: la firma di un documento consiste nel mascherare il documento con la propria chiave privata Firma digitale RSA: chiave pubblica di Alice (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n))
163 La firma digitale Idea: la firma di un documento consiste nel mascherare il documento con la propria chiave privata Firma digitale RSA: chiave pubblica di Alice (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare: D Z n
164 La firma digitale Idea: la firma di un documento consiste nel mascherare il documento con la propria chiave privata Firma digitale RSA: chiave pubblica di Alice (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare: D Z n Firma del documento: F = D d (mod n) Z n
165 La firma digitale Idea: la firma di un documento consiste nel mascherare il documento con la propria chiave privata Firma digitale RSA: chiave pubblica di Alice (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare: D Z n Firma del documento: F = D d (mod n) Z n Documento firmato: (D,F) con F = D d (mod n)
166 La firma digitale Idea: la firma di un documento consiste nel mascherare il documento con la propria chiave privata Firma digitale RSA: chiave pubblica di Alice (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare: D Z n Firma del documento: F = D d (mod n) Z n Documento firmato: (D,F) con F = D d (mod n) Verifica della firma: F e = D (mod n)???
167 La firma digitale Idea: la firma di un documento consiste nel mascherare il documento con la propria chiave privata Firma digitale RSA: chiave pubblica di Alice (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare: D Z n Firma del documento: F = D d (mod n) Z n Documento firmato: (D,F) con F = D d (mod n) Verifica della firma: F e = D (mod n)??? Il punto chiave è che se F e = D (mod n), allora (F e ) d = D d (mod n) e quindi per il Teorema di Eulero F = D d (mod n).
168 La firma digitale Idea: la firma di un documento consiste nel mascherare il documento con la propria chiave privata Firma digitale RSA: chiave pubblica di Alice (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare: D Z n Firma del documento: F = D d (mod n) Z n Documento firmato: (D,F) con F = D d (mod n) Verifica della firma: F e = D (mod n)??? Il punto chiave è che se F e = D (mod n), allora (F e ) d = D d (mod n) e quindi per il Teorema di Eulero F = D d (mod n). Ma solo Alice conosce d
169 Falsificazioni firma digitale RSA Se faccio finta di essere Alice e spedisco (F e,f), allora la verifica della firma è accettata: F e = F e (mod n)
170 Falsificazioni firma digitale RSA Se faccio finta di essere Alice e spedisco (F e,f), allora la verifica della firma è accettata: F e = F e (mod n) F e probabilmente è un documento senza senso.
171 Falsificazioni firma digitale RSA Se faccio finta di essere Alice e spedisco (F e,f), allora la verifica della firma è accettata: F e = F e (mod n) F e probabilmente è un documento senza senso. Se ho due documenti firmati da Alice, diciamo (D 1,F 1 ) e (D 2,F 2 ), e faccio finta di essere Alice e spedisco (D 1 D 2,F 1 F 2 ), allora la verifica della firma è accettata: (F 1 F 2 ) e = F e 1 F e 2 = D 1 D 2 (mod n)
172 Falsificazioni firma digitale RSA Se faccio finta di essere Alice e spedisco (F e,f), allora la verifica della firma è accettata: F e = F e (mod n) F e probabilmente è un documento senza senso. Se ho due documenti firmati da Alice, diciamo (D 1,F 1 ) e (D 2,F 2 ), e faccio finta di essere Alice e spedisco (D 1 D 2,F 1 F 2 ), allora la verifica della firma è accettata: (F 1 F 2 ) e = F e 1 F e 2 = D 1 D 2 (mod n) D 1 D 2 probabilmente è un documento senza senso.
173 Falsificazioni firma digitale RSA Se faccio finta di essere Alice e spedisco (F e,f), allora la verifica della firma è accettata: F e = F e (mod n) F e probabilmente è un documento senza senso. Se ho due documenti firmati da Alice, diciamo (D 1,F 1 ) e (D 2,F 2 ), e faccio finta di essere Alice e spedisco (D 1 D 2,F 1 F 2 ), allora la verifica della firma è accettata: (F 1 F 2 ) e = F e 1 F e 2 = D 1 D 2 (mod n) D 1 D 2 probabilmente è un documento senza senso. La facilità di ottenere firme false è un problema
174 Falsificazioni firma digitale RSA Se faccio finta di essere Alice e spedisco (F e,f), allora la verifica della firma è accettata: F e = F e (mod n) F e probabilmente è un documento senza senso. Se ho due documenti firmati da Alice, diciamo (D 1,F 1 ) e (D 2,F 2 ), e faccio finta di essere Alice e spedisco (D 1 D 2,F 1 F 2 ), allora la verifica della firma è accettata: (F 1 F 2 ) e = F e 1 F e 2 = D 1 D 2 (mod n) D 1 D 2 probabilmente è un documento senza senso. La facilità di ottenere firme false è un problema Un altro problema è che un documento/file non sempre può non essere rappresentato da un elemento di Z n (es.: DVD PS3)
175 Falsificazioni firma digitale RSA Se faccio finta di essere Alice e spedisco (F e,f), allora la verifica della firma è accettata: F e = F e (mod n) F e probabilmente è un documento senza senso. Se ho due documenti firmati da Alice, diciamo (D 1,F 1 ) e (D 2,F 2 ), e faccio finta di essere Alice e spedisco (D 1 D 2,F 1 F 2 ), allora la verifica della firma è accettata: (F 1 F 2 ) e = F e 1 F e 2 = D 1 D 2 (mod n) D 1 D 2 probabilmente è un documento senza senso. La facilità di ottenere firme false è un problema Un altro problema è che un documento/file non sempre può non essere rappresentato da un elemento di Z n (es.: DVD PS3) Soluzione: utilizzo funzioni hash
176 Firma digitale SHA1-RSA Firma digitale SHA1-RSA: chiave pubblica (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n))
177 Firma digitale SHA1-RSA Firma digitale SHA1-RSA: chiave pubblica (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare da Alice: D, file di dimensione praticamente arbitraria
178 Firma digitale SHA1-RSA Firma digitale SHA1-RSA: chiave pubblica (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare da Alice: D, file di dimensione praticamente arbitraria Si calcola l hash di D con l algoritmo SHA1, diciamo H(D), e lo si interpreta come elemento di Z n
179 Firma digitale SHA1-RSA Firma digitale SHA1-RSA: chiave pubblica (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare da Alice: D, file di dimensione praticamente arbitraria Si calcola l hash di D con l algoritmo SHA1, diciamo H(D), e lo si interpreta come elemento di Z n Firma del documento: F = H(D) d (mod n) Z n
180 Firma digitale SHA1-RSA Firma digitale SHA1-RSA: chiave pubblica (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare da Alice: D, file di dimensione praticamente arbitraria Si calcola l hash di D con l algoritmo SHA1, diciamo H(D), e lo si interpreta come elemento di Z n Firma del documento: F = H(D) d (mod n) Z n Documento firmato: (D,F) con F = H(D) d (mod n)
181 Firma digitale SHA1-RSA Firma digitale SHA1-RSA: chiave pubblica (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare da Alice: D, file di dimensione praticamente arbitraria Si calcola l hash di D con l algoritmo SHA1, diciamo H(D), e lo si interpreta come elemento di Z n Firma del documento: F = H(D) d (mod n) Z n Documento firmato: (D,F) con F = H(D) d (mod n) Verifica della firma: F e = H(D) (mod n)???
182 Firma digitale SHA1-RSA Firma digitale SHA1-RSA: chiave pubblica (n, e), chiave privata (p,q,d) con n = p q e e d = 1 (mod φ(n)) Documento da firmare da Alice: D, file di dimensione praticamente arbitraria Si calcola l hash di D con l algoritmo SHA1, diciamo H(D), e lo si interpreta come elemento di Z n Firma del documento: F = H(D) d (mod n) Z n Documento firmato: (D,F) con F = H(D) d (mod n) Verifica della firma: F e = H(D) (mod n)??? Il punto chiave è che se F e = H(D) (mod n), allora (F e ) d = H(D) d (mod n) e quindi per il Teorema di Eulero F = H(D) d (mod n). Ma solo Alice conosce d.
183 Falsificazioni di SHA1-RSA? (F e,f) non è accettato perchè F non è l hash di F. Dovrei trovare un file che abbia come impronta F, ma come sappiamo è praticamente impossibile.
184 Falsificazioni di SHA1-RSA? (F e,f) non è accettato perchè F non è l hash di F. Dovrei trovare un file che abbia come impronta F, ma come sappiamo è praticamente impossibile. Allo stesso modo, non è più accettata (D 1 D 2,F 1 F 2 ) perché H(D 1 D 2 ) d H(D 1 ) d H(D 2 ) d = F 1 F 2
185 Firma digitale in pratica Per dotarsi di firma digitale necessario rivolgersi ai certificatori accreditati autorizzati da DigitPA che garantiscono lidentità dei soggetti che utilizzano la firma digitale.
186 Firma digitale in pratica Per dotarsi di firma digitale necessario rivolgersi ai certificatori accreditati autorizzati da DigitPA che garantiscono lidentità dei soggetti che utilizzano la firma digitale. Esempio forse più conosciuto in TV: Aruba. (
187 Firma digitale in pratica Per dotarsi di firma digitale necessario rivolgersi ai certificatori accreditati autorizzati da DigitPA che garantiscono lidentità dei soggetti che utilizzano la firma digitale. Esempio forse più conosciuto in TV: Aruba. ( Ogni Autorità di Certificazione è a sua volta Certificata dal Governo/Unione Europea.
188 Firma digitale in pratica Alice si reca fisicamente dalla Certification Authority.
189 Firma digitale in pratica Alice si reca fisicamente dalla Certification Authority. La Certification Authority riconosce l identità di Alice e le rilascia una chiavetta usb e un PIN.
190 Firma digitale in pratica Alice si reca fisicamente dalla Certification Authority. La Certification Authority riconosce l identità di Alice e le rilascia una chiavetta usb e un PIN. La chiavetta USB contiene:
191 Firma digitale in pratica Alice si reca fisicamente dalla Certification Authority. La Certification Authority riconosce l identità di Alice e le rilascia una chiavetta usb e un PIN. La chiavetta USB contiene: La chiave privata p,q,d di Alice
192 Firma digitale in pratica Alice si reca fisicamente dalla Certification Authority. La Certification Authority riconosce l identità di Alice e le rilascia una chiavetta usb e un PIN. La chiavetta USB contiene: La chiave privata p,q,d di Alice Il certificato di Alice. Il certificato C di Alice contiene la chiave pubblica n, e di Alice, ed è firmato dalla Certification Authority
193 Firma digitale in pratica Alice si reca fisicamente dalla Certification Authority. La Certification Authority riconosce l identità di Alice e le rilascia una chiavetta usb e un PIN. La chiavetta USB contiene: La chiave privata p,q,d di Alice Il certificato di Alice. Il certificato C di Alice contiene la chiave pubblica n, e di Alice, ed è firmato dalla Certification Authority Quando Alice vuole firmare un file inserisce la chiavetta e avvia il programma di firma inserendo il PIN. Il risultato è un file.p7m che contiene:
194 Firma digitale in pratica Alice si reca fisicamente dalla Certification Authority. La Certification Authority riconosce l identità di Alice e le rilascia una chiavetta usb e un PIN. La chiavetta USB contiene: La chiave privata p,q,d di Alice Il certificato di Alice. Il certificato C di Alice contiene la chiave pubblica n, e di Alice, ed è firmato dalla Certification Authority Quando Alice vuole firmare un file inserisce la chiavetta e avvia il programma di firma inserendo il PIN. Il risultato è un file.p7m che contiene: Il documento D (esempio file.doc o file.pdf)
195 Firma digitale in pratica Alice si reca fisicamente dalla Certification Authority. La Certification Authority riconosce l identità di Alice e le rilascia una chiavetta usb e un PIN. La chiavetta USB contiene: La chiave privata p,q,d di Alice Il certificato di Alice. Il certificato C di Alice contiene la chiave pubblica n, e di Alice, ed è firmato dalla Certification Authority Quando Alice vuole firmare un file inserisce la chiavetta e avvia il programma di firma inserendo il PIN. Il risultato è un file.p7m che contiene: Il documento D (esempio file.doc o file.pdf) La firma F = SHA1(D) d (mod n)
196 Firma digitale in pratica Alice si reca fisicamente dalla Certification Authority. La Certification Authority riconosce l identità di Alice e le rilascia una chiavetta usb e un PIN. La chiavetta USB contiene: La chiave privata p,q,d di Alice Il certificato di Alice. Il certificato C di Alice contiene la chiave pubblica n, e di Alice, ed è firmato dalla Certification Authority Quando Alice vuole firmare un file inserisce la chiavetta e avvia il programma di firma inserendo il PIN. Il risultato è un file.p7m che contiene: Il documento D (esempio file.doc o file.pdf) La firma F = SHA1(D) d (mod n) Il certificato C di Alice (quindi la chiave pubblica di Alice e la firma della Certification Authority)
197 Firma digitale in pratica Bob riceve il file contratto.pdf.p7m, che consiste di D =contratto.pdf, F, C Quali passi compie per verificare la firma di Alice?
198 Firma digitale in pratica Bob riceve il file contratto.pdf.p7m, che consiste di D =contratto.pdf, F, C Quali passi compie per verificare la firma di Alice? Controlla la firma del certificato: deve essere sicuro che il certificato C sia stato firmato da una Certification Authority. Il browser si collega al sito governativo dove è sicuro di trovare la VERA chiave pubblica della Certification Authority. Tale chiave pubblica è ciò che serve per controllare l autenticità del certificato.
199 Firma digitale in pratica Bob riceve il file contratto.pdf.p7m, che consiste di D =contratto.pdf, F, C Quali passi compie per verificare la firma di Alice? Controlla la firma del certificato: deve essere sicuro che il certificato C sia stato firmato da una Certification Authority. Il browser si collega al sito governativo dove è sicuro di trovare la VERA chiave pubblica della Certification Authority. Tale chiave pubblica è ciò che serve per controllare l autenticità del certificato. Dopo aver controllato il certificato, Bob è sicuro che la chiave pubblica di Alice è quella riportata nel certificato stesso. Quindi
200 Firma digitale in pratica Bob riceve il file contratto.pdf.p7m, che consiste di D =contratto.pdf, F, C Quali passi compie per verificare la firma di Alice? Controlla la firma del certificato: deve essere sicuro che il certificato C sia stato firmato da una Certification Authority. Il browser si collega al sito governativo dove è sicuro di trovare la VERA chiave pubblica della Certification Authority. Tale chiave pubblica è ciò che serve per controllare l autenticità del certificato. Dopo aver controllato il certificato, Bob è sicuro che la chiave pubblica di Alice è quella riportata nel certificato stesso. Quindi Calcola l impronta di D =contratto.pdf: SHA1(D)
201 Firma digitale in pratica Bob riceve il file contratto.pdf.p7m, che consiste di D =contratto.pdf, F, C Quali passi compie per verificare la firma di Alice? Controlla la firma del certificato: deve essere sicuro che il certificato C sia stato firmato da una Certification Authority. Il browser si collega al sito governativo dove è sicuro di trovare la VERA chiave pubblica della Certification Authority. Tale chiave pubblica è ciò che serve per controllare l autenticità del certificato. Dopo aver controllato il certificato, Bob è sicuro che la chiave pubblica di Alice è quella riportata nel certificato stesso. Quindi Calcola l impronta di D =contratto.pdf: SHA1(D) Calcola SHA1(D) e
202 Firma digitale in pratica Bob riceve il file contratto.pdf.p7m, che consiste di D =contratto.pdf, F, C Quali passi compie per verificare la firma di Alice? Controlla la firma del certificato: deve essere sicuro che il certificato C sia stato firmato da una Certification Authority. Il browser si collega al sito governativo dove è sicuro di trovare la VERA chiave pubblica della Certification Authority. Tale chiave pubblica è ciò che serve per controllare l autenticità del certificato. Dopo aver controllato il certificato, Bob è sicuro che la chiave pubblica di Alice è quella riportata nel certificato stesso. Quindi Calcola l impronta di D =contratto.pdf: SHA1(D) Calcola SHA1(D) e Controlla che SHA1(D) e = F
203 Codici autocorrettori Da Wikipedia Error Detection and Correction: Many communication channels are subject to channel noise, and thus errors may be introduced during transmission from the source to a receiver. Error detection techniques allow detecting such errors, while error correction enables reconstruction of the original data. Development of error-correction codes was tightly coupled with the history of deep-space missions due to the extreme dilution of signal power over interplanetary distances, and the limited power availability aboard space probes. Whereas early missions sent their data uncoded, starting from 1968 digital error correction was implemented. The Reed-Muller code was well suited to the noise the spacecraft was subject to (approximately matching a bell curve), and was implemented at the Mariner spacecraft for missions between 1969 and The Voyager 1 and Voyager 2 missions, which started in 1977, were designed to deliver color imaging amongst scientific information of Jupiter and Saturn. This resulted in increased coding requirements, and thus the spacecraft were supported by (optimally Viterbi-decoded) convolutional codes that could be concatenated with an outer Golay (24,12,8) code. The Voyager 2 probe additionally supported an implementation of a Reed-Solomon code: the concatenated Reed-Solomon-Viterbi (RSV) code allowed for very powerful error correction, and enabled the spacecraft s extended journey to Uranus and Neptune. The CCSDS currently recommends usage of error correction codes with performance similar to the Voyager 2 RSV code as a minimum. Concatenated codes are increasingly falling out of favor with space missions, and are replaced by more powerful codes such as Turbo codes or LDPC codes.
204 Un esempio elementare N 0 0 E 0 1 O 1 0 S 1 1
205 Un esempio elementare N E O S 1 1 0
206 Un esempio elementare N E O S
207 Un esempio elementare N E O S Un qualunque errore può essere corretto automaticamente!
208 Un esempio elementare N E O S Un qualunque errore può essere corretto automaticamente! Idea: Codificare le parole del nostro linguaggio in modo tale che siano tutte abbastanza diverse fra loro
209 Alfabeto: Z p, p primo
210 Alfabeto: Z p, p primo Parole del codice: alcune sequenze di n lettere dell alfabeto
211 Alfabeto: Z p, p primo Parole del codice: alcune sequenze di n lettere dell alfabeto Distanza di due parole: d((a 1,a 2,...,a n ),(b 1,b 2,...,b n )) = #{i = 1,...,n a i b i }
212 Alfabeto: Z p, p primo Parole del codice: alcune sequenze di n lettere dell alfabeto Distanza di due parole: d((a 1,a 2,...,a n ),(b 1,b 2,...,b n )) = #{i = 1,...,n a i b i } Esempi: d((1,2,3),(0,2,3)) = 1, d((0,2,3,0),(1,2,1,0)) = 2
213 Alfabeto: Z p, p primo Parole del codice: alcune sequenze di n lettere dell alfabeto Distanza di due parole: d((a 1,a 2,...,a n ),(b 1,b 2,...,b n )) = #{i = 1,...,n a i b i } Esempi: d((1,2,3),(0,2,3)) = 1, d((0,2,3,0),(1,2,1,0)) = 2 Teorema 6 Se la distanza minima di due parole del codice è D, allora il codice corregge fino a (D 1)/2-errori
214 Codici di Reed-Solomon (versione soft) Si fissano k < m < p, con p primo
215 Codici di Reed-Solomon (versione soft) Si fissano k < m < p, con p primo Alfabeto: Z p, lunghezza delle parole: m
216 Codici di Reed-Solomon (versione soft) Si fissano k < m < p, con p primo Alfabeto: Z p, lunghezza delle parole: m Ogni parola è associata a un polinomio f(x) = a 0 +a 1 X +a 2 X a k X k a coefficienti in Z p e grado minore o uguale di k: C = {(f(1),f(2),...f(m)) f polinomio con deg(f) k}
217 Codici di Reed-Solomon (versione soft) Si fissano k < m < p, con p primo Alfabeto: Z p, lunghezza delle parole: m Ogni parola è associata a un polinomio f(x) = a 0 +a 1 X +a 2 X a k X k a coefficienti in Z p e grado minore o uguale di k: C = {(f(1),f(2),...f(m)) f polinomio con deg(f) k} Teorema 7 (Ruffini) Un polinomio di grado k non nullo ha al massimo k radici.
218 Esempio: p = 7,m = 4,k = 2
219 Esempio: p = 7,m = 4,k = 2 Esempi di parole: f(x) = 1+X 2 (1+1 2,1+2 2,1+3 2,1+4 2 ) = (2,5,3,3) f(x) = 1+X +X 2 (3,0,6,0)......
220 Esempio: p = 7,m = 4,k = 2 Esempi di parole: f(x) = 1+X 2 (1+1 2,1+2 2,1+3 2,1+4 2 ) = (2,5,3,3) f(x) = 1+X +X 2 (3,0,6,0) Quanti errori si possono correggere con un codice di Reed-Solomon?
221 Esempio: p = 7,m = 4,k = 2 Esempi di parole: f(x) = 1+X 2 (1+1 2,1+2 2,1+3 2,1+4 2 ) = (2,5,3,3) f(x) = 1+X +X 2 (3,0,6,0) Quanti errori si possono correggere con un codice di Reed-Solomon? d((f(1),f(2),...,f(m)),(g(1),g(2),...,g(m))) è uguale a m meno il numero di valori i = 1,...,m per cui (f g)(i) = 0
222 Esempio: p = 7,m = 4,k = 2 Esempi di parole: f(x) = 1+X 2 (1+1 2,1+2 2,1+3 2,1+4 2 ) = (2,5,3,3) f(x) = 1+X +X 2 (3,0,6,0) Quanti errori si possono correggere con un codice di Reed-Solomon? d((f(1),f(2),...,f(m)),(g(1),g(2),...,g(m))) è uguale a m meno il numero di valori i = 1,...,m per cui (f g)(i) = 0 Quante radici al massimo può avere f g?
223 Esempio: p = 7,m = 4,k = 2 Esempi di parole: f(x) = 1+X 2 (1+1 2,1+2 2,1+3 2,1+4 2 ) = (2,5,3,3) f(x) = 1+X +X 2 (3,0,6,0) Quanti errori si possono correggere con un codice di Reed-Solomon? d((f(1),f(2),...,f(m)),(g(1),g(2),...,g(m))) è uguale a m meno il numero di valori i = 1,...,m per cui (f g)(i) = 0 Quante radici al massimo può avere f g? k
224 Esempio: p = 7,m = 4,k = 2 Esempi di parole: f(x) = 1+X 2 (1+1 2,1+2 2,1+3 2,1+4 2 ) = (2,5,3,3) f(x) = 1+X +X 2 (3,0,6,0) Quanti errori si possono correggere con un codice di Reed-Solomon? d((f(1),f(2),...,f(m)),(g(1),g(2),...,g(m))) è uguale a m meno il numero di valori i = 1,...,m per cui (f g)(i) = 0 Quante radici al massimo può avere f g? Pertanto D m k e quindi il codice di Reed-Solomon corregge fino a (m k)/2 errori! k
4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
PRIMAVERA IN BICOCCA
PRIMAVERA IN BICOCCA 1. Numeri primi e fattorizzazione Una delle applicazioni più rilevanti della Teoria dei Numeri si ha nel campo della crittografia. In queste note vogliamo delineare, in particolare,
Un po di teoria dei numeri
Un po di teoria dei numeri Applicazione alla crittografia RSA Christian Ferrari Liceo di Locarno Matematica Sommario 1 L aritmetica modulare di Z n Le congruenze L anello Z n Le potenze in Z n e algoritmo
Introduzione alla Crittografia
Liceo Scientifico N. Tron, 6 febbraio 2006 Riassunto Dato n > 1, la funzione di Eulero ϕ(n) è il numero di elementi < n e coprimi con n. Riassunto Dato n > 1, la funzione di Eulero ϕ(n) è il numero di
Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:
Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione
Alessandro Pellegrini
Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione
Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................
Dimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
I sistemi di numerazione
I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono
Applicazioni lineari
Applicazioni lineari Esempi di applicazioni lineari Definizione. Se V e W sono spazi vettoriali, una applicazione lineare è una funzione f: V W tale che, per ogni v, w V e per ogni a, b R si abbia f(av
SISTEMI DI NUMERAZIONE E CODICI
SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema
Dispense di Informatica per l ITG Valadier
La notazione binaria Dispense di Informatica per l ITG Valadier Le informazioni dentro il computer All interno di un calcolatore tutte le informazioni sono memorizzate sottoforma di lunghe sequenze di
Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali
1 Numeri naturali La successione di tutti i numeri del tipo: 0,1, 2, 3, 4,..., n,... forma l'insieme dei numeri naturali, che si indica con il simbolo N. Tale insieme si può disporre in maniera ordinata
11) convenzioni sulla rappresentazione grafica delle soluzioni
2 PARAGRAFI TRATTATI 1)La funzione esponenziale 2) grafici della funzione esponenziale 3) proprietá delle potenze 4) i logaritmi 5) grafici della funzione logaritmica 6) principali proprietá dei logaritmi
Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria).
Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria). Aprile 20 Indice Serie numeriche. Serie convergenti, divergenti, indeterminate.....................
SOMMARIO. 13.1 I radicali pag. 3. 13.2 I radicali aritmetici pag. 5. 13.3 Moltiplicazione e divisione fra radicali aritmetici pag.
SOMMARIO CAPITOLO : I RADICALI. I radicali pag.. I radicali aritmetici pag.. Moltiplicazione e divisione fra radicali aritmetici pag.. Potenza di un radicale aritmetico pag.. Trasporto di un fattore esterno
PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si sostituisce la loro somma.
Addizione: PROPRIETA' COMMUTATIVA Cambiando l'ordine degli addendi la somma non cambia. 1) a + b = b + a PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si
Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza
Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza Prof. Massimiliano Sala MINICORSI 2011. Crittografia a chiave pubblica: oltre RSA Università degli Studi di Trento, Lab di Matematica
Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile
Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione
DOMINI A FATTORIZZAZIONE UNICA
DOMINI A FATTORIZZAZIONE UNICA CORSO DI ALGEBRA, A.A. 2012-2013 Nel seguito D indicherà sempre un dominio d integrità cioè un anello commutativo con unità privo di divisori dello zero. Indicheremo con
Informatica. Rappresentazione dei numeri Numerazione binaria
Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione
Matematica generale CTF
Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione
CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI
CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI Abbiamo studiato successioni e serie numeriche, ora vogliamo studiare successioni e serie di funzioni. Dato un insieme A R, chiamiamo successione di funzioni
I SISTEMI DI NUMERAZIONE
ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA I SISTEMI DI NUMERAZIONE Prof. G. Ciaschetti Fin dall antichità, l uomo ha avuto il bisogno di rappresentare le quantità in modo simbolico. Sono nati
Sistemi di Numerazione
Fondamenti di Informatica per Meccanici Energetici - Biomedici 1 Sistemi di Numerazione Sistemi di Numerazione I sistemi di numerazione sono abitualmente posizionali. Gli elementi costitutivi di un sistema
Convertitori numerici in Excel
ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel
L Ultimo Teorema di Fermat per n = 3 e n = 4
Università degli Studi di Cagliari Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Matematica L Ultimo Teorema di Fermat per n = 3 e n = 4 Relatore Prof. Andrea Loi Tesi di Laurea
11010010 = 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210
Il sistema BINARIO e quello ESADECIMALE. Il sistema di numerazione binario è particolarmente legato ai calcolatori in quanto essi possono riconoscere solo segnali aventi due valori: uno alto e uno basso;
Cifratura a chiave pubblica Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009
Cifratura a chiave pubblica Crittografia a chiave privata Chiave singola Crittografia simmetrica La stessa chiave è utilizzata sia per la cifratura che per la decifratura dei messaggi La chiave rappresenta
INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI
INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.
Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica
Crittografia Corso di Laurea Specialistica in Informatica Primalità e Fattorizzazione Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano Bicocca
Il simbolo. è è = = = In simboli: Sia un numero naturale diverso da zero, il radicale. Il radicale. esiste. esiste 0 Il radicale
Radicali 1. Radice n-esima Terminologia Il simbolo è detto radicale. Il numero è detto radicando. Il numero è detto indice del radicale. Il numero è detto coefficiente del radicale. Definizione Sia un
24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2
Dati due numeri naturali a e b, diremo che a è divisibile per b se la divisione a : b è esatta, cioè con resto 0. In questo caso diremo anche che b è un divisore di a. 24 : 3 = 8 con resto 0 26 : 4 = 6
LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1
LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD
1. PRIME PROPRIETÀ 2
RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,
Parte 2. Determinante e matrice inversa
Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice
RETI DI CALCOLATORI. Crittografia. La crittografia
RETI DI CALCOLATORI Crittografia La crittografia La crittografia è la scienza che studia la scrittura e la lettura di messaggi in codice ed è il fondamento su cui si basano i meccanismi di autenticazione,
La prof.ssa SANDRA VANNINI svolge da diversi anni. questo percorso didattico sulle ARITMETICHE FINITE.
La prof.ssa SANDRA VANNINI svolge da diversi anni questo percorso didattico sulle ARITMETICHE FINITE. La documentazione qui riportata è ricavata dalla trascrizione dei lucidi che vengono prodotti dall
Soluzione dell esercizio del 2 Febbraio 2004
Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo
Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo
Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero
Probabilità discreta
Probabilità discreta Daniele A. Gewurz 1 Che probabilità c è che succeda...? Una delle applicazioni della combinatoria è nel calcolo di probabilità discrete. Quando abbiamo a che fare con un fenomeno che
2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione
Capitolo 2 MATRICI Fra tutte le applicazioni su uno spazio vettoriale interessa esaminare quelle che mantengono la struttura di spazio vettoriale e che, per questo, vengono dette lineari La loro importanza
LA MOLTIPLICAZIONE IN CLASSE SECONDA
LA MOLTIPLICAZIONE IN CLASSE SECONDA Rossana Nencini, 2013 Le fasi del lavoro: 1. Proponiamo ai bambini una situazione reale di moltiplicazione: portiamo a scuola una scatola di biscotti (. ) e diamo la
UNIVERSITÀ DEGLI STUDI DI TERAMO
UNIVERSITÀ DEGLI STUDI DI TERAMO CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA (Classe 7) Corso di Matematica per l Economia (Prof. F. Eugeni) TEST DI INGRESSO Teramo, ottobre 00 SEZIONE
Informazione analogica e digitale
L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica
I numeri semiprimi e i numeri RSA. come loro sottoinsieme
I numeri semiprimi e i numeri RSA come loro sottoinsieme Francesco Di Noto, Michele Nardelli Abstract In this paper we show some connections between semi-primes numbers and RSA numbers. Riassunto In questo
SISTEMI DI NUMERAZIONE DECIMALE E BINARIO
SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono
Il calcolo letterale per risolvere problemi e per dimostrare
Il calcolo letterale per risolvere problemi e per dimostrare (si prevedono circa 25 ore di lavoro in classe) Nome e cognome dei componenti del gruppo che svolge le attività di gruppo di questa lezione
Algoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
risulta (x) = 1 se x < 0.
Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente
La somma. Esempio: Il prodotto. Esempio:
La somma L algoritmo della operazione di somma non cambia qualunque sia la base considerata. Naturalmente, le regole da imparare nel caso di una base b sono relative alle sole b 2 posssibili combinazioni
Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio
Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento
Esercitazione Informatica I AA 2012-2013. Nicola Paoletti
Esercitazione Informatica I AA 2012-2013 Nicola Paoletti 4 Gigno 2013 2 Conversioni Effettuare le seguenti conversioni, tenendo conto del numero di bit con cui si rappresenta il numero da convertire/convertito.
Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:
Teoria dei Giochi, Trento, 2004/05 c Fioravante Patrone 1 Teoria dei Giochi Corso di laurea specialistica: Decisioni economiche, impresa e responsabilità sociale, A.A. 2004/05 Soluzioni degli esercizi
Prodotto libero di gruppi
Prodotto libero di gruppi 24 aprile 2014 Siano (A 1, +) e (A 2, +) gruppi abeliani. Sul prodotto cartesiano A 1 A 2 definiamo l operazione (x 1, y 1 ) + (x 2, y 2 ) := (x 1 + x 2, y 1 + y 2 ). Provvisto
LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0
LEZIONE 23 231 Diagonalizzazione di matrici Abbiamo visto nella precedente lezione che, in generale, non è immediato che, data una matrice A k n,n con k = R, C, esista sempre una base costituita da suoi
UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA
UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA Tutti gli anni, affrontando l argomento della divisibilità, trovavo utile far lavorare gli alunni sul Crivello di Eratostene. Presentavo ai ragazzi una
Per lo svolgimento del corso risulta particolarmente utile considerare l insieme
1. L insieme R. Per lo svolgimento del corso risulta particolarmente utile considerare l insieme R = R {, + }, detto anche retta reale estesa, che si ottiene aggiungendo all insieme dei numeri reali R
STRUTTURE ALGEBRICHE
STRUTTURE ALGEBRICHE Operazioni in un insieme Sia A un insieme non vuoto; una funzione f : A A A si dice operazione binaria (o semplicemente operazione), oppure legge di composizione interna. Per definizione
COEFFICIENTI BINOMIALI
COEFFICIENTI BINOMIALI Michele Impedovo micheleimpedovo@uni-bocconiit Una definizione insiemistica Se n è un numero naturale e è un numero naturale compreso tra e n, si indica con il simbolo il coefficiente
Matematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico
M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p. 3/43 M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p.
Anello commutativo. Un anello è commutativo se il prodotto è commutativo.
Anello. Un anello (A, +, ) è un insieme A con due operazioni + e, dette somma e prodotto, tali che (A, +) è un gruppo abeliano, (A, ) è un monoide, e valgono le proprietà di distributività (a destra e
Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta
Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta Anche se spesso si afferma che il sistema binario, o in base 2, fu inventato in
Il principio di induzione e i numeri naturali.
Il principio di induzione e i numeri naturali. Il principio di induzione è un potente strumento di dimostrazione, al quale si ricorre ogni volta che si debba dimostrare una proprietà in un numero infinito
ESEMPIO 1: eseguire il complemento a 10 di 765
COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento
Funzioni inverse Simmetrie rispetto alla bisettrice dei quadranti dispari. Consideriamo la trasformazione descritta dalle equazioni : = y
Funzioni inverse Simmetrie rispetto alla bisettrice dei quadranti dispari. Consideriamo la trasformazione descritta dalle equazioni : ' = y y' = Consideriamo il punto P(,5) se eseguiamo tra trasformazione
4. Operazioni elementari per righe e colonne
4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:
L anello dei polinomi
L anello dei polinomi Sia R un anello commutativo con identità. È possibile costruire un anello commutativo unitario, che si denota con R[x], che contiene R (come sottoanello) e un elemento x non appartenente
Guardiamo ora però la cosa da un altro punto di vista analizzando il seguente grafico a forma di torta. La torta in 5 parti
L EQUIVALENZA FRA I NUMERI RAZIONALI (cioè le frazioni), I NUMERI DECIMALI (quelli spesso con la virgola) ED I NUMERI PERCENTUALI (quelli col simbolo %). Ora vedremo che ogni frazione (sia propria, che
Forze come grandezze vettoriali
Forze come grandezze vettoriali L. Paolucci 23 novembre 2010 Sommario Esercizi e problemi risolti. Per la classe prima. Anno Scolastico 2010/11 Parte 1 / versione 2 Si ricordi che la risultante di due
Corso PAS Anno 2014. ESEMPIO. Per n = 3, Z 3 contiene 3 elementi:
Corso PAS Anno 2014 Matematica e didattica 3 Correzione esercizi 1. Definizione. Sia n un fissato intero maggiore di 1. Dati due interi a, b si dice che a è congruo a b modulo n, e si scrive a b (mod n),
Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.
Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. A partire da questa lezione, ci occuperemo di come si riescono a codificare con sequenze binarie, quindi con sequenze di 0 e 1,
1 Giochi a due, con informazione perfetta e somma zero
1 Giochi a due, con informazione perfetta e somma zero Nel gioco del Nim, se semplificato all estremo, ci sono due giocatori I, II e una pila di 6 pedine identiche In ogni turno di gioco I rimuove una
ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma
Calcolabilità problemi facili trovare la media di due numeri stampare le linee di un file che contengono una parola problemi difficili trovare il circuito minimo data una tabella determinare la migliore
Lezione 9: Cambio di base
Lezione 9: Cambio di base In questa lezione vogliamo affrontare uno degli argomenti piu ostici per lo studente e cioè il cambio di base all interno di uno spazio vettoriale, inoltre cercheremo di capire
ESERCIZI DI PREPARAZIONE E
ESERCIZI DI PREPARAZIONE E CONSOLIDAMENTO PER I FUTURI STUDENTI DEL PRIMO LEVI si campa anche senza sapere che cos è un equazione, senza sapere suonare uno strumento musicale, senza conoscere il nome del
Schemi delle Lezioni di Matematica Generale. Pierpaolo Montana
Schemi delle Lezioni di Matematica Generale Pierpaolo Montana Al-giabr wa al-mukabalah di Al Khuwarizmi scritto approssimativamente nel 820 D.C. Manuale arabo da cui deriviamo due nomi: Algebra Algoritmo
1 Serie di Taylor di una funzione
Analisi Matematica 2 CORSO DI STUDI IN SMID CORSO DI ANALISI MATEMATICA 2 CAPITOLO 7 SERIE E POLINOMI DI TAYLOR Serie di Taylor di una funzione. Definizione di serie di Taylor Sia f(x) una funzione definita
Esponenziali elogaritmi
Esponenziali elogaritmi Potenze ad esponente reale Ricordiamo che per un qualsiasi numero razionale m n prendere n>0) si pone a m n = n a m (in cui si può sempre a patto che a sia un numero reale positivo.
la scienza della rappresentazione e della elaborazione dell informazione
Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione
Informatica Generale (Prof. Luca A. Ludovico) Presentazione 5.1 Operazioni aritmetiche nel sistema binario
Operazioni aritmetiche nel sistema binario Operazioni aritmetiche basilari Le regole da imparare nel caso di una base b sono relative alle b 2 possibili combinazioni delle cifre da 0 a b- 1. Ad esempio,
Sicurezza nelle applicazioni multimediali: lezione 4, crittografia asimmetrica. Crittografia asimmetrica (a chiave pubblica)
Crittografia asimmetrica (a chiave pubblica) Problemi legati alla crittografia simmetrica Il principale problema della crittografia simmetrica sta nella necessità di disporre di un canale sicuro per la
La variabile casuale Binomiale
La variabile casuale Binomiale Si costruisce a partire dalla nozione di esperimento casuale Bernoulliano che consiste in un insieme di prove ripetute con le seguenti caratteristiche: i) ad ogni singola
Le curve ellittiche sono un gioiello della matematica. Sono state studiate per secoli per la loro bellezza e importanza.
Come fare soldi con le curve ellittiche L. Göttsche Le curve ellittiche sono un gioiello della matematica. Sono state studiate per secoli per la loro bellezza e importanza. È difficile spiegare la bellezza
Pre Test 2008... Matematica
Pre Test 2008... Matematica INSIEMI NUMERICI Gli insiemi numerici (di numeri) sono: numeri naturali N: insieme dei numeri interi e positivi {1; 2; 3; 4;...} numeri interi relativi Z: insieme dei numeri
f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da
Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede
Corrispondenze e funzioni
Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei
Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
4. Operazioni aritmetiche con i numeri binari
I Numeri Binari 4. Operazioni aritmetiche con i numeri binari Contare con i numeri binari Prima di vedere quali operazioni possiamo effettuare con i numeri binari, iniziamo ad imparare a contare in binario:
Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno
Rappresentazione di numeri Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Un numero e un entità teorica,
SCHEDA DI RECUPERO SUI NUMERI RELATIVI
SCHEDA DI RECUPERO SUI NUMERI RELATIVI I numeri relativi sono l insieme dei numeri negativi (preceduti dal segno -) numeri positivi (il segno + è spesso omesso) lo zero. Valore assoluto di un numero relativo
la scienza della rappresentazione e della elaborazione dell informazione
Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione
Esercizi su lineare indipendenza e generatori
Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v
SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE
SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE La base del sistema decimale è 10 I simboli del sistema decimale sono: 0 1 2 3 4 5 6 7 8 9 Il sistema di numerazione decimale è un sistema posizionale. L aggettivo
Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.
Iniziamo con definizione (capiremo fra poco la sua utilità): DEFINIZIONE DI VARIABILE ALEATORIA Una variabile aleatoria (in breve v.a.) X è funzione che ha come dominio Ω e come codominio R. In formule:
Marco Tolotti - Corso di Esercitazioni di Matematica 12 Cfu - A.A. 2010/2011 1
Marco Tolotti - Corso di Esercitazioni di Matematica 1 Cfu - A.A. 010/011 1 Esercitazione 1: 4/09/010 1. Determinare il dominio delle seguenti funzioni: log a) f() = 5 ( 1). b) g() = log 3 (3 6) log 13.
