Classe prima LM a.s.2018/2019 -...

Post on 03-Oct-2020

4 views 0 download

Transcript of Classe prima LM a.s.2018/2019 -...

%

Struttura del laboratorio

percorso storico

• Cifrario di Cesare;

• Cifrari affini, Vigenère e Leon Battista Alberti;

• Codice RSA

percorso matematico

• Congruenze e classi resto;

• operazioni nelle classi resto;

• struttura algebrica;

• algoritmo euclideo del MCD;

• identità di Bézout;

• risoluzioni di equazioni diofantee lineari;

• sistema binario;

• funzione di Eulero;

• proprietà numeri primi

Metodologie didattiche

• Schede «gioco» con cifratura di un messaggio e rottura del codice.

• Schede con esercizi numerici (individuale e /o gruppo aritmetica modulare, numeri binari,…)

• Laboratorio: costruzione disco cifrante di L. B. Alberti, scrittura di semplici programmi in Python, produzione di un poster per il convegno del 12 aprile, presentazione di fine anno ad alunni della scuola.

Materiale didattico

Cifrario di Cesare con chiave k=3

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A B C D E F G H I L M N O P Q R S T U V Z

D 4

E 5

F 6

G 7

H 8

I 9

L 10

M 11

N 12

O 13

P 14

Q 15

R 16

S 17

T 18

U 19

V 20

Z 0

A 1

B 2

C 3

Proviamo…

HUIAUHF RI HBPPUDDNL

Per rompere il codice posso andare per tentativi tanto al massimo mi posso spostare di 20 posti oppure mi aiuto con qualcosa, tipo le parole brevi sono articoli o preposizioni o congiunzioni, le parole italiane finiscono con le vocali, le doppie sono delle consonanti e con la tabella delle frequenze.

Primi esercizi sulle congruenze

A che classe di resto modulo 12 appartiene 75?

75 ≡ 3𝑚𝑜𝑑12 ( 75:12 quoziente= 6 e resto= 3) , ovvero 75-12 =63 = 21∙ 3.

A quale classe resto modulo 12 appartiene − 𝟕?

−7 ≡ 5𝑚𝑜𝑑12 ( −7 : 12, quoziente = 1 e resto= 5) ovvero −7 − 5 = −12 = (−1) ∙ 12

Proprietà delle congruenze

• La congruenza è una relazione di equivalenza 𝑎 ≡ 𝑏𝑚𝑜𝑑𝑛 ↔ 𝑎 − 𝑏 = 𝑘𝑛

• Operare con tabelle per le operazioni

• Corrispondenza biunivoca tra l’insieme 𝑍𝑛 delle classi di congruenza mod n e i numeri naturali minori di n.

• Invarianza rispetto all’addizione e alla moltiplicazione.

• Struttura algebrica su 𝑍𝑛

Cifrario affine

Cifrario di Cesare con chiave k :

𝑍21 → 𝑍21 ∶ 𝑝 → 𝑝 + 𝑘,

Si può rendere più complicata questa funzione, per rendere più complicato il cifrario di Cesare? «Mescoliamo» le lettere:

Cifrario affine con chiave (𝑎, 𝑏)

𝑍21→ 𝑍21: 𝑝 → 𝑎 ∙ 𝑝 + 𝑏

Lavoriamo in 𝒁𝟐𝟏con chiave (5,4)

Lettera con posizione p

Chiave (5,4) Lettera con posizione 5p+4

A=0 0∙ 5 + 4 = 4 E

B=1 1∙ 5 + 4 = 9 L

C=2 2∙ 5 + 4 = 14 Q

D=3 3∙ 5 + 4 = 19 V

E=4 4∙ 5 + 4 = 24 = 3 D

F=5 5∙ 5 + 4 = 29 = 8 I

G=6 6∙ 5 + 4 = 34 = 13 P

H=7 7∙ 5 + 4 = 39=18 U

I=8 8∙ 5 + 4 = 44 = 2 C

L=9 9∙ 5 + 4 = 49=7 H

M=10 10∙ 5 + 4 = 54 =12

O

N=11 11∙ 5 + 4 = 59 =17

T

O=12 12∙ 5 + 4 = 64 = 1 B

P=13 13∙ 5 + 4 = 69 = 6 G

Q=14 14∙ 5 + 4 = 74 =11

N

R=15 15∙ 5 + 4 = 79=16 S

S=16 16∙ 5 + 4 = 84 = 0 A

T=17 17∙ 5 + 4 = 89 = 5 F

U=18 18∙ 5 + 4 = 94 =10

M

V=19 19∙ 5 + 4 = 99=15 R

Z=20 20∙ 5 + 4 = 104 =20

Z

Cosa succede con una chiave (3,4)?

Lettera con posizione p

Chiave (3,4) Lettera con posizione 3p+4

A=0 0∙ 3 + 4 = 4 E

B=1 1∙ 3 + 4 = 7 H

C=2 2∙ 3 + 4 = 10 M

D=3 3∙ 3 + 4 = 13 P

E=4 4∙ 3 + 4 = 16 S

F=5 5∙ 3 + 4 = 19 V

G=6 6∙ 3 + 4 = 22 = 1 B

H=7 7∙ 3 + 4 = 25 = 4 E

I=8 8∙ 3 + 4 = 28 = 7 H

L=9 9∙ 3 + 4 = 31=10 M

M=10 10∙ 3 + 4 = 34 =13

P

N=11 11∙ 3 + 4 = 37 =16

S

O=12 12∙ 3 + 4 = 40 =19

V

P=13 13∙ 3 + 4 = 43 = 1 B

Q=14 14∙ 3 + 4 = 46 = 4 E

R=15 15∙ 3 + 4 = 49= 7 H

S=16 16∙ 3 + 4 = 52 =10

M

T=17 17∙ 3 + 4 = 55 =13

P

U=18 18∙ 3 + 4 = 58 =16

S

V=19 19∙ 3 + 4 = 61=19 V

Z=20 20∙ 3 + 4 = 64 = 1

B

Perché la corrispondenza biunivoca si è persa?

Proviamo a pensarci insieme

Noi stiamo lavorando in una classe resto mod 21, 21 ha come divisori 3 e 7, per la chiave abbiamo scelto come coefficiente moltiplicativo il numero 3 e così ogni volta che moltiplichiamo per 3 il numero 7 o un suo multiplo otterremo 0:

3× 0 + 4 = 4

3× 7 + 4 = 25 ≡ 4𝑚𝑜𝑑21

3× 14 + 4 = 46 ≡ 4𝑚𝑜𝑑21

Disco cifrante di Leon Battista Alberti ( «De cifris » 1467)

Come funziona il disco cifrante

• È la prima macchina cifrante, formata da due dischi concentrici, quello interno mobile. Sul disco esterno 20 lettere dell’alfabeto latino, senza U + le cifre 1,2,3,4. Sul disco esterno 23 lettere + il simbolo & alla rinfusa ( altrimenti sarebbe un cifrario di Cesare).

• Si concorda una chiave, lettera minuscola, per esempio k;

• il mittente la pone sotto una maiuscola a sua scelta;

• Prepara il messaggio per la cifratura, scrivendolo senza spazi e frapponendo le cifre del disco esterno;

Primo metodo di cifratura

• INVIARE RINFORZI DOMANI

• INV1IA2RERI4NFORZID3OMANI

• BkeghTeoydjdbzosnNetoyiocajy (messaggio cifrato), i numeri sono considerati nulli e il cambio di lista avviene scrivendo ogni tanto una maiuscola sotto cui deve essere riportata la lettera k

Secondo metodo di cifratura

• Bkegheoydjdbzosnetoyiocajy

• Ogni volta che si trova un numero si cambia lista, cioè non appena si trova il numero si porta la lettera minuscola corrispondente sotto la B e si ricomincia.

Cifrario di Vigenère ( 1586)

M E S S A G G I O D A C I F R A R E

C H I A V E C H I A V E C H I A V E

La chiave è una parola o una frase che si scrive di seguito sotto al messaggio senza spazi.

Tavola di Vigenère A B C D E F G H I L M N O P Q R S T U V Z

B C D E F G H I L M N O P Q R S T U V Z A

C D E F G H I L M N O P Q R S T U V Z A B

D E F G H I L M N O P Q R S T U V Z A B C

E F G H I L M N O P Q R S T U V Z A B C D

F G H I L M N O P Q R S T U V Z A B C D E

G H I L M N O P Q R S T U V Z A B C D E F

H I L M N O P Q R S T U V Z A B C D E F G

I L M N O P Q R S T U V Z A B C D E F G H

L M N O P Q R S T U V Z A B C D E F G H I

M N O P Q R S T U V Z A B C D E F G H I L

N O P Q R S T U V Z A B C D E F G H I L M

O P Q R S T U V Z A B C D E F G H I L M N

P Q R S T U V Z A B C D E F G H I L M N O

Q R S T U V Z A B C D E F G H I L M N O P

R S T U V Z A B C D E F G H I L M N O P Q

S T U V Z A B C D E F G H I L M N O P Q R

T U V Z A B C D E F G H I L M N O P Q R S

U V Z A B C D E F G H I L M N O P Q R S T

V Z A B C D E F G H I L M N O P Q R S T U

Z A B C D E F G H I L M N O P Q R S T U V

Come funziona la cifratura

• Nella prima colonna leggo le lettere del messaggio da cifrare, nella prima riga leggo la corrispondente lettera della chiave.

• Nella casella intersezione riga colonna la cifratura.

• Punti deboli: se si trova la chiave si risale al codice, se n è la lunghezza della chiave è come avere n cifrari di Cesare

Calcolo del MCD con algoritmo euclideo delle divisioni successive

• MCD(145, 34)

Calcolo con algoritmo euclideo: il MCD ultimo resto non nullo delle divisioni successive

145:34 𝑞1 = 4; 𝑟1 = 9

34:9 𝑞2= 3 𝑟2 = 7

9:7 𝑞3= 1 𝑟3 = 2

7:2 𝑞4= 3 𝑟4 = 1

Equazioni diofantee lineari e identità di Bézout

𝟏𝟒𝟓𝒙 + 𝟑𝟒𝒚 = 𝟏 (cnes affinché ammetta soluzioni MCD(145, 34) deve dividere il termine noto) 145=34∙ 4 + 9 34=9 ∙3+7 9=7 ∙1+2 7=2 ∙3+1 𝟏 = 7 − 2 ∙ 3 = 7 − 9 − 7 ∙ 3 = 7 − 9 ∙ 3 + 7 ∙ 3 = 4 ∙ 7 − 9 ∙ 3

= 4 34 − 9 ∙ 3 − 9 ∙ 3 = 4 ∙ 34 − 12 ∙ 9 − 3 ∙ 9 = 4 ∙ 34 − 15 ∙ 9= 4 ∙ 34 − 15 145 − 34 ∙ 4 = 4 ∙ 34 − 15 ∙ 145 + 60 ∙ 34= −𝟏𝟓 ∙ 145 + 𝟔𝟒 ∙ 34

(−𝟏𝟓, 𝟔𝟒)

• 145𝑥 + 34𝑦 = 5

• Moltiplico le soluzioni per 5 (−𝟕𝟓, 𝟑𝟐𝟎)

• E le altre soluzioni?

• Considero l’equazione omogenea associata

• 145𝑥 + 34𝑦 = 0 , una coppia di soluzioni è

• 34,− 145 𝑒 𝑡𝑢𝑡𝑡𝑖 𝑖 𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑖 (34𝑘, −145𝑘)

• (−75 + 34𝑘, 320 − 145𝑘) le infinite soluzioni

Potenze e numeri binari

27=(11011)2=24 + 23 + 21 + 20=16+8+2+1

1327𝑚𝑜𝑑55 = 13mod 55 = 7

Funzione di Eulero e proprietà

• La funzione di Eulero 𝝋(𝒏) di un intero positivo n è definita come il numero degli interi minori di n e coprimi con n compreso il numero 1.

𝜑 8 = 4, (gli interi minori di 8 coprimi con 8 sono 1,3,5,7);

𝜑 11 =10, ( gli interi coprimi con 11 e minori di 11 sono tutti i suoi precedenti)

Piccolo teorema di Fermat

𝒂𝒑 ≡ 𝒂𝒎𝒐𝒅𝒑

𝒂𝒑−𝟏 ≡ 𝟏𝒎𝒐𝒅𝒑

RSA: Rivest, Shamir, Adleman 1978

• Sistema asimmetrico: una chiave pubblica necessaria per cifrare e una chiave privata nota solo al destinatario per decifrare il messaggio.

• Bob e Alice vogliono scambiarsi informazioni cifrate.

Bob:

• sceglie due primi p e q (molto grandi)

• calcola n=p∙q e la funzione di Eulero 𝜑 𝑛 =𝑝 − 1 𝑞 − 1

• sceglie un intero «e», che sia minore di 𝜑 𝑛 𝑒 𝑝𝑟𝑖𝑚𝑜 𝑐𝑜𝑛 𝑒𝑠𝑠𝑜; ( n,e ) chiave pubblica

• Calcola l’intero d inverso di e modulo 𝜑 𝑛 ,

𝑐𝑖𝑜è 𝒆𝒅 ≡ 𝟏𝒎𝒐𝒅𝝋 𝒏 ; equivalente a

𝒆𝒅 + 𝒌𝝋 𝒏 = 𝟏

Osservazioni

• Messaggio: ogni messaggio è codificato con una sequenza binaria, che viene trattata come un numero intero m. Per impiegare il cifrario deve risultare m<n. Ciò è sempre possibile dividendo il messaggio in blocchi.

• Generazione della chiave: i numeri primi p e q devono essere molto grandi; con i calcolatori di oggi è necessario che contengano un migliaio di cifre binarie per garantire che la fattorizzazione di n sia inattuabile e che la probabilità che due utenti scelgano la stessa chiave sia praticamente trascurabile.

Alice invia un messaggio cifrato a Bob utilizzando la chiave pubblica (n,e) che Bob le aveva dato e invia il numero

𝒄 = 𝒎𝒆𝒎𝒐𝒅𝒏

Alice :

𝒎 = 𝒄𝒅𝒎𝒐𝒅𝒏 Bob utilizzando la sua chiave privata d, recupera il messaggio in chiaro.

• Bob sceglie i due primi: 𝑝 = 5; 𝑞 = 11, 𝑛 = 55 • Trova la funzione di Eulero 𝜑 𝑛 = 4 ∙ 10 = 40, • Sceglie 𝑒 = 3, (minore di 40 e primo con 40) • Trasmette ad Alice la chiave pubblica generata (55,3) • trova la sua chiave segreta 𝑑 = 27, (infatti 27 × 3 =

81 𝑑𝑖𝑣𝑖𝑠𝑜 𝑝𝑒𝑟 40 𝑑à 𝑟𝑒𝑠𝑡𝑜 1).

• Alice conosce la chiave pubblica e cifra 𝑚 = 7, trasmetterà 𝑐 = 73𝑚𝑜𝑑55= 13. • Bob riceve c e per decifrare usa la sua chiave segreta 27 𝑚 = 1327𝑚𝑜𝑑55 = 7

Sistemi di congruenze

• 1327𝑚𝑜𝑑55

• 𝑥 ≡ 1327𝑚𝑜𝑑11𝑥 ≡ 1327𝑚𝑜𝑑5

𝑥 ≡ 137𝑚𝑜𝑑11𝑥 ≡ 133𝑚𝑜𝑑5

𝑥 ≡ 27𝑚𝑜𝑑11𝑥 ≡ 33𝑚𝑜𝑑5

𝑥 ≡ 7𝑚𝑜𝑑11𝑥 ≡ 2𝑚𝑜𝑑5

• 𝑥 − 7 = 𝑘1 ∙ 11

• 𝑥 − 2 = 𝑘2 ∙ 5 • 𝑘1 =0 e 𝑘2 = 1

Crivello di Eratostene in Python

Schermata dei numeri primi estratti

In English

Poster per il convegno del 12 aprile

Grazie