UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Laurea in Matematica CR410 - Crittografia - A.A. 2010/2011 II Esonero - 6 Giugno 2011 1 2 3 4 5 6 7 Tot. Avvertenza: Svolgere ogni esercizio nello spazio assegnato, senza consegnare altri fogli e accompagnando le risposte con spiegazioni chiare ed essenziali. Scrivere il proprio nome su ogni foglio nello spazio predisposto. Non è consentito l utilizzo di libri o appunti; è consentito l uso di una calcolatrice non programmabile. Io sottoscritto/a COGNOME:........................... NOME:........................... MATRICOLA:............... dichiaro, sotto la mia responsabilità, di aver svolto l odierna prova di esame in modo autonomo e senza l ausilio di strumenti o materiale non permesso. Roma, 6 Giugno 2011 FIRMA
Esercizio 1. : (a) (2pt) Per ognuno dei seguenti interi dire, giustificando la risposta, se è un numero di Carmichael: 187, 3825, 10585, 15015. (b) (2pt) Dimostrare che se n è un numero di Carmichael allora a n a mod n per ogni a Z (a non necessariamente coprimo con n). (a) 187 = 11 17, quindi non può essere un numero di Carmichael dato che è il prodotto di soli due fattori primi. 3825 è divisibile per 9 (e per 25), quindi non può essere un numero di Carmichael in quanto ha fattori quadratici. 10585 = 5 29 73; siccome 4 10584, 28 10584, 72 10584 allora, essendo 10585 dispari, composto e privo di fattori quadratici, 10585 è di Carmichael. 15015 è divisibile per 5; siccome 4 15014 allora 15015 non può essere un numero di Carmichael. (b) Essendo n di Carmichael, n = p 1 p k, p i numeri primi distinti; inoltre, per ogni i, (p i 1) (n 1). Sia a Z: per ogni 1 i k, se p i divide a allora banalmente a n a mod p i ; se p i è coprimo con a allora a pi 1 1 mod p i e quindi, siccome (p i 1) (n 1), a n 1 1 mod p i a n a mod p i per ogni i. Perciò a n a mod p i per ogni i, i.e., a n a mod n.
Nome e Cognome: Esercizio 2. Calcolare, utilizzando le proprietà del simbolo di Jacobi: (a) (1pt) ( 5 79798649496518030347 ); (b) (2pt) ( 12401 17075 ). 5 (a) Dato che 5 1 mod 4 per la legge di reciprocità quadratica si ha: ( 79798649496518030347 ) = ( 79798649496518030347 5 ) = ( 2 5 ) = 1. (b) 12401 1 mod 4, quindi per la legge di reciprocità quadratica ( 12401 17075 ) = ( 17075 12401 ) = ( 4674 12401 ) = 2 2337 ( 12401 )( 12401 ) = ( 2337 12401 ) = ( 12401 2337 ) = ( 716 2337 ) = ( 4 179 2337 )( 2337 ) = ( 179 2337 ). Anche 2337 1 mod 4, quindi ( 179 2337 ) = ( 2337 179 ) = ( 10 179 ) = ( 2 179 )( 5 179 ) = ( 5 179 179 ) = ( 5 ) = ( 4 5 ) = 1.
Esercizio 3. : (a) (2pt) Calcolare la successione di Miller Rabin di 6 modulo 35 e dire se 35 è uno pseudoprimo forte, uno pseudoprimo di Eulero o uno pseudoprimo di Fermat in base 6. (b) (3pt) Dimostrare che se n è uno pseudoprimo forte in base b allora n è uno pseudoprimo forte in base b k per ogni k N. (a) Si ha 35 1 = 34 = 2 17. Siccome 6 2 = 36 1 mod 35 allora 6 17 6 mod 35 e 6 34 1 mod 35 e la successione di Miller Rabin di 6 modulo 35 è (6, 1), perciò 35 è uno pseudoprimo di Fermat in base 6 ma non è uno pseudoprimo forte. Siccome 35 3 mod 4 allora le nozione di pseudoprimo forte e di Eulero coincidono e quindi 35 non è neppure uno pseudoprimo di Eulero in base 6. (b) Sia n 1 = 2 a t con t dispari, a 1. Sia k = 2 c s con s dispari e c 0. Per ipotesi n è pseudoprimo forte in base b: in particolare o b t 1 mod n oppure esiste 0 a < a tale che b 2a t 1 mod n. Nel primo caso chiaramente (b k ) t = (b t ) k 1 mod n e quindi n è pseudoprimo forte in base b k. Nel secondo caso: se c > a allora siccome (b k ) t = b kt = b 2a t2 c a s si ha (b k ) t 1 mod n; se c a allora (b k ) 2a ct = b k2a ct = b 2a ts 1 mod n, dato che s è dispari.
Nome e Cognome: Esercizio 4. (3pt) Determinare la probabilità che un polinomio di grado 4 a coefficienti in Z 2 abbia (almeno) un fattore irriducibile di grado 2. Sia f(x) Z 2 [X] polinomio di grado 4. Innanzitutto osserviamo che i polinomi a coefficienti in Z 2 sono necessariamente monici. In particolare i polinomi di grado 4 sono 2 4 = 16. Per avere un fattore irriducibile di grado 2, f(x) deve essere riducibile, non deve avere fattori irriducibili di grado 3 e non deve essere prodotto di 4 fattori lineari. Il numero di polinomi di grado 4 in Z 2 [X] che hanno tutti fattori lineari è 5. Il numero di polinomi irriducibili di grado 3 è 23 2 3 = 2 e dunque i polinomi di grado 4 che hanno un fattore irriducibile di grado 3 sono in totale 4 = 2 2. Il numero di polinomi irriducibili di grado 4 verifica 2 4 = 2 + 2 22 2 2 + 4 N 2 (4). Ovvero N 2 (4) = 24 4 4 = 3. La probabilità che un polinomio di grado 4 abbia un fattore irriducibile di grado 2 è quindi 16 (5+4+3) 16 = 1 4. In alternativa, molto più semplicemente, si può calcolare il numero di polinomi irriducibili di grado 2 in Z 2 [X] che è pari a 1 (ovvero X 2 + X + 1) e il numero di polinomi di grado 2, non necessariamente irriducibili, che è 2 2 = 4. Ne segue che il numero di polinomi di grado 4 aventi un fattore irriducibile di grado 2 è 4 1 = 4 e 4 16 = 1 4.
Esercizio 5. : (a) (5pt) Utilizzando l algoritmo di Berlekamp determinare i fattori irriducibili di: f(x) = X 6 + X 5 + X 3 + X 2 + 1 Z 2 [X]. (b) (3pt) Costruire il campo finito F 64 e determinare una sua radice primitiva. (a) Si verifica facilmente che f(x) non ha radici e MCD(f(X), X 4 +X 2 ) = 1. Costruiamo la matrice di Berlekamp: X 0 1 B = X 2 X 2 X 4 X 4 X 6 X 5 + X 3 + X 2 + 1 X 8 X + 1 X 10 X 3 + X 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 = (B id 6 ) = 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 Le righe non nulle di (B id 6 ) sono linearmente indipendenti, quindi il rango di (B id 6 ) è 5 e f(x) è irriducibile in Z 2 [X]. (b) Il polinomio al punto precedente è irriducibile di grado 6, dunque: F 64 Z 2 [X] = (X 6 + X 5 + X 3 + X 2 + 1) = = { c 0 + c 1 α + c 2 α 2 + c 3 α 3 + c 4 α 4 + c 5 α 5 : c i Z 2, α 6 = α 5 + α 3 + α 2 + 1 }. Si verifica facilmente che f(x) è anche primitivo, ovvero che α è primitiva, infatti 63 = 7 3 2 e si ha: α 21 = α 4 + α 2 + α + 1 e α 9 = α 2 + α.
Nome e Cognome: Esercizio 6. (6pt) Sia A un utente di uno schema di firma digitale di ElGamal in Z 541. Essendo noto che A utilizza: g = 59 come radice primitiva 425 mod 541 come chiave pubblica risolvere il problema del logaritmo discreto con l algoritmo di Silver-Pohlig-Hellman e firmare il messaggio M = 333 al posto di A. Bisogna trovare log 59 (425). Innanzitutto fattorizziamo 540 = 2 2 3 3 5. Per p = 5: le radici quinte dell unità modulo 541 sono r 0 = 1, r 1 = 124, r 2 = 228, r 3 = 140, r 4 = 48. Dobbiamo calcolare l 0,5. Si ha: 425 540 5 48 mod 541, dunque l 0,5 = 4. Per p = 2: le radici quadrate dell unità modulo 541 sono r 0 = 1 e r 1 = 540. Dobbiamo calcolare l 0,2 e l 1,2. Si ha: 425 540 2 540 mod 541, ovvero l 0,2 = 1. Per calcolare l 1,2 dobbiamo considerare 425 g l0,2 425 486 429 mod 541. Si ha: 429 540 4 1 mod 541, dunque l 1,2 = 0. Per p = 3: le radici terze dell unità modulo 541 sono r 0 = 1, r 1 = 129, r 2 = 411. Dobbiamo calcolare l 0,3, l 1,3 e l 2,3. Si ha: 425 540 3 411 mod 541, dunque l 0,3 = 2. Per calcolare l 1,3 consideriamo 425 g l0,3 425 320 209 mod 541. Si ha: 209 540 9 1 mod 541, dunque l 1,3 = 0. Avendo ottenuto l 1,3 = 0, al passo successivo utilizziamo di nuovo 209, ottenendo: 209 540 27 1 mod 541, ovvero l 2,3 = 0. Resta da risolvere il sistema: X 4 mod 5 X 1 mod 4 X 2 mod 27 la cui soluzione è x A 29 mod 540. Per firmare il messaggio M = 333 al posto di A bisogna scegliere 2 k 539, coprimo con 540. Poniamo k = 7, da cui k 1 463 mod 540. Si ottiene: a = g k 13 mod 541, w = (M x A a)k 1 148 mod 540. Dunque inviamo la terna (333, 13, 148).
Esercizio 7. Sia E la curva ellittica definita da y 2 = x 3 + 7x + 1 su Z 13. (a) (1pt) Verificare che effettivamente E è una curva ellittica. (b) (2pt) Determinare tutti i punti di E e l ordine di E. (c) (2pt) Determinare il tipo di E. (a) È sufficiente controllare che il discriminante di E non sia nullo. (E) = (27 + 4 73 ) mod 13 = 8 0 (b) Prima di tutto individuiamo i residui quadratici in Z 13 : (±1) 2 1 mod 13, (±2) 2 4 mod 13, (±3) 2 9 mod 13, (±4) 2 3 mod 13, (±5) 2 12 mod 13, (±6) 2 10 mod 13. Completiamo poi la tabella: x x 3 + 7x + 1 mod 13 punti 0 1 (0, 1), (0, 1) 1 9 (1, 3), (1, 3) 2 10 (2, 6), (2, 6) 3 10 (3, 6), (3, 6) 4 2 5 5 6 12 (6, 5), (6, 5) 7 3 (7, 4), (7, 4) 8 10 (8, 6), (8, 6) 9 0 (9, 0) 10 5 11 5 12 6 E possiede i punti elencati in tabella e il punto all infinito O, quindi E = 16. (c) Per il teorema di struttura delle curve ellittiche E = Z 16 oppure E = Z 8 Z 2 oppure E = Z 4 Z 4. Ricordiamo che i punti di ordine 2 sono tutti e soli i punti di E \ {O} che hanno ordinata nulla, quindi E ha un solo punto di ordine 2. Perciò E = Z 16, cioè E ha tipo (16).