La matematica dell orologio

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "La matematica dell orologio"

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

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

Dettagli

PRIMAVERA IN BICOCCA

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,

Dettagli

Un po di teoria dei numeri

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

Dettagli

Introduzione alla Crittografia

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

Dettagli

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: 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

Dettagli

Alessandro Pellegrini

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

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

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

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

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

Dettagli

Dimensione di uno Spazio vettoriale

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

Dettagli

I sistemi di numerazione

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

Dettagli

Applicazioni lineari

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

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

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

Dettagli

Dispense di Informatica per l ITG Valadier

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

Dettagli

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali

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

Dettagli

11) convenzioni sulla rappresentazione grafica delle soluzioni

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

Dettagli

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

Dettagli

SOMMARIO. 13.1 I radicali pag. 3. 13.2 I radicali aritmetici pag. 5. 13.3 Moltiplicazione e divisione fra radicali aritmetici pag.

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

Dettagli

PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si sostituisce la loro somma.

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

Dettagli

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

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

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

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

Dettagli

DOMINI A FATTORIZZAZIONE UNICA

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

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

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

Dettagli

Matematica generale CTF

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

Dettagli

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI

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

Dettagli

I SISTEMI DI NUMERAZIONE

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

Dettagli

Sistemi di Numerazione

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

Dettagli

Convertitori numerici in Excel

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

Dettagli

L Ultimo Teorema di Fermat per n = 3 e n = 4

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

Dettagli

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

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;

Dettagli

Cifratura a chiave pubblica Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

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

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

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.

Dettagli

Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica

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

Dettagli

Il simbolo. è è = = = In simboli: Sia un numero naturale diverso da zero, il radicale. Il radicale. esiste. esiste 0 Il radicale

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

Dettagli

24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2

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

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

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

Dettagli

1. PRIME PROPRIETÀ 2

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,

Dettagli

Parte 2. Determinante e matrice inversa

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

Dettagli

RETI DI CALCOLATORI. Crittografia. La crittografia

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,

Dettagli

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 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

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

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

Dettagli

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 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

Dettagli

Probabilità discreta

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

Dettagli

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione

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

Dettagli

LA MOLTIPLICAZIONE IN CLASSE SECONDA

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

Dettagli

UNIVERSITÀ DEGLI STUDI DI TERAMO

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

Dettagli

Informazione analogica e digitale

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

Dettagli

I numeri semiprimi e i numeri RSA. come loro sottoinsieme

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

Dettagli

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

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

Dettagli

Il calcolo letterale per risolvere problemi e per dimostrare

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

Dettagli

Algoritmi e strutture dati. Codici di Huffman

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

Dettagli

risulta (x) = 1 se x < 0.

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

Dettagli

La somma. Esempio: Il prodotto. Esempio:

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

Dettagli

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio

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

Dettagli

Esercitazione Informatica I AA 2012-2013. Nicola Paoletti

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.

Dettagli

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

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

Dettagli

Prodotto libero di gruppi

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

Dettagli

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

Dettagli

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA

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

Dettagli

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

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

Dettagli

STRUTTURE ALGEBRICHE

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

Dettagli

COEFFICIENTI BINOMIALI

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

Dettagli

Matematica in laboratorio

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

Dettagli

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

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.

Dettagli

Anello commutativo. Un anello è commutativo se il prodotto è commutativo.

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

Dettagli

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 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

Dettagli

Il principio di induzione e i numeri naturali.

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

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

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

Dettagli

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 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

Dettagli

4. Operazioni elementari per righe e colonne

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:

Dettagli

L anello dei polinomi

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

Dettagli

Guardiamo ora però la cosa da un altro punto di vista analizzando il seguente grafico a forma di torta. La torta in 5 parti

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

Dettagli

Forze come grandezze vettoriali

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

Dettagli

Corso PAS Anno 2014. ESEMPIO. Per n = 3, Z 3 contiene 3 elementi:

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),

Dettagli

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

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,

Dettagli

1 Giochi a due, con informazione perfetta e somma zero

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

Dettagli

ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma

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

Dettagli

Lezione 9: Cambio di base

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

Dettagli

ESERCIZI DI PREPARAZIONE E

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

Dettagli

Schemi delle Lezioni di Matematica Generale. Pierpaolo Montana

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

Dettagli

1 Serie di Taylor di una funzione

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

Dettagli

Esponenziali elogaritmi

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.

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

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

Dettagli

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 5.1 Operazioni aritmetiche nel sistema binario

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,

Dettagli

Sicurezza nelle applicazioni multimediali: lezione 4, crittografia asimmetrica. Crittografia asimmetrica (a chiave pubblica)

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

Dettagli

La variabile casuale Binomiale

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

Dettagli

Le curve ellittiche sono un gioiello della matematica. Sono state studiate per secoli per la loro bellezza e importanza.

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

Dettagli

Pre Test 2008... Matematica

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

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

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

Dettagli

Corrispondenze e funzioni

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

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

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

Dettagli

4. Operazioni aritmetiche con i numeri binari

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:

Dettagli

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

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,

Dettagli

SCHEDA DI RECUPERO SUI NUMERI RELATIVI

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

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

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

Dettagli

Esercizi su lineare indipendenza e generatori

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

Dettagli

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

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

Dettagli

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

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:

Dettagli

Marco Tolotti - Corso di Esercitazioni di Matematica 12 Cfu - A.A. 2010/2011 1

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.

Dettagli