680 likes | 888 Views
Università della Liberetà 2007-’08. La crittologia. alcune considerazioni. 11 2 4 16 9 18 18 13 10 13 7 9 2. m.bassi. La crittologia è l’arte e la scienza di scrivere segreti.
E N D
Università della Liberetà 2007-’08 La crittologia alcune considerazioni 1124 169 18 1813 1013 7 92 m.bassi
La crittologia è l’arte e la scienza di scrivere segreti La crittologia è un’arte molto antica, infatti tra i metodi crittologici usati nel passato troviamo la scitala lacedemonica, gli alfabeti di Giulio Cesare … Alfabeto chiaro a b c d e g h i l m n o p q r s t u v z Alfabeto cifrante D E F G H I L M N O P Q R S T U V Z A B C testo chiaro v e n i, v i d i, v i c i testo cifrato B H Q N, B N G N, B N F N La cifratura di Cesare si basa su un alfabeto cifrante traslato di un certo numero di posti rispetto all’alfabeto chiaro (cifratura per sostituzione)
La scitale Lacedemonica (spartana) del V secolo a.C. La scitale (o scitala) era una asticciola di legno intorno la quale veniva arrotolata una striscia di pelle o pergamena Il mittente scriveva il messaggio lungo l’asticciola quindi svolgeva la striscia, che recava si di sé una serie di lettere apparentemente prive di senso La striscia di pelle poteva essere camuffata da cintura Per ricostruire il messaggio, il destinatario avvolgeva la striscia su una scitale dello stesso diametro di quella usata dal mittente
Supponiamo di essere venuti in possesso di una striscia di carta in cui si legge LZENDTAAEIEOSDSCLGIOSOLRCVESAAURRCCFREEORIEBLPIAZBUOT! La scitale usata dal mittene ha una circonferenza c,che possiamo misurare dal numero delle lettere. Possiamo provare con varie circonferenze, se tentiamo con c = 5, otteniamo una sequenza priva di significato ; con c = 6, il testo diventa chiaro L A S I C U R E Z Z A D O V R E B B E E S S E R E L U N I C O S C O P O D E L L A C R I T T O G R A F I A ! L T E C S V U F R P U ZA O L O E R R I I O E A S G L S R E E A T N E D I R A C E B Z ! D I S O C A C O L B NOTAla scitala è un prototipodi cifrario a trasposizione
Lo “spostamento” eseguito è la chiave dell’algoritmo La chiave è il segreto noto esclusivamente al mittente e al destinatario, che, usandola sono in grado di proteggere la loro comunicazione È chiaro che la chiave deve essere trasmessa prima che il messaggio steso possa essere trasmesso Tali codici possano essere forzati facilmente
nellatrasposizione , le lettere del messaggio sono mutate di posto, generando, in effetti, un anagramma ogni carattere alfabetico mantiene la sua identità - nel caso di messaggi brevi questo metodo non dà alcuna sicurezza (una parola di tre lettere ammette al massimo sei anagrammi), tuttavia col crescere della lunghezza del messaggio il numero di anagrammi “esplode” rendendo impossibile la ricostruzione Trasposizione “a inferriata”(usata dai bambini un tempo) u s g e o i t o r g o i r s l l s i n a e a a i s o r g o i r n e r t e l u p i i n e o e o a c a d r s r i l u p i i n e o Il procedimento persostituzione può essere considerato complementare alla trasposizione: nella sostituzione esso cambia identità ma conserva il suo posto (codice di G. Cesare)
La crittologia fece passi da gigante nel 1500 circa, con l’invenzione dei cosiddetti codici polialfabetici: l’idea era di usare non solo un alfabeto cifrante, ma molti … La chiavenon è solo una lettera ma una parola e le lettere della parola individuano gli alfabeti da usare Anche i codici polialfabetici possono essere forzati Il passo più importante è quello di calcolare il numero delle lettere della parola chiave Se come chiave non usiamo una parola(corta), ma un sequenza casuale di lettere otteniamo un codice insuperabile
C I F R A R I A D D I T I V I a b c d e f g h i l m n o p q r s t u v z testo chiaro 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 … … … … … … … … 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 i 21 cifrari additivi Esempio a b c d e f g h i l m n o p q r s t u v z alfabeto piano U V Z A B C D E F G H I L M N O P Q R S T I alfabeto cifrante G H I L M N O P Q R S T U V Z A B C D E F II alfabeto cifrante La parolac o d i c e diventa Z U A Q Z M
E’ a Leon Battista Alberti, uomo poliedrico e di vastissima cultura, che si deve il primo cifrario polialfabetico, da lui proposto nel 1466 I cerchi dell’Alberti Il cifrario è realizzato mediante due cerchi concentrici. Il disco più esterno, fisso, contiene i numeri 1, 2, 3, 4 e l’alfabeto in chiaro, costituito da sole 20 lettere maiuscole ( sono escluse, anche per sicurezza crittografica, le lettere J, K, Y, W, Q, H che hanno una bassa frequenza) Il disco interno, mobile, contiene l’alfabeto segreto costituito da 24 lettere (è esclusa la we u ≡v ) scritte disordinatamente
Si fissa una lettera dell’alfabeto in chiaro, dettaindice del cifrario. Come prima lettera del testo cifrato si scrive la lettera dell’alfabeto che si trova in corrispondenza dell’indice nella posizione e fissata per il disco interno; poi ogni lettera del testo in chiaro viene cifrata con la lettera corrispondente nell’alfabeto segreto Quando si vuole cambiare alfabeto segreto, si sceglie uno dei quattro numeri che si trovano nel disco esterno, e nel testo cifrato si inserisce la lettera del disco interno che corrisponde a tale numero. Fatto ciò, si ruota il disco finché la lettera corrispondente al numero scelto non si trovi in corrispondenza dell’indice del cifrario Tale rotazione dà un nuovo alfabeto segreto.
In molti cifrari usati (non solo) dai bambini tutte le lettere rimangono comesono, ma non dove sono: esse possono essere riordinate in modo più o meno strano il messaggio cifrato
Mittente e destinatario devono avere due griglie identiche, il mittente pone la griglia sopra un foglio di carta e scrive il messaggio, poi toglie la griglia e riempie i posti vuoti con lettere arbitrarie … … la griglia
IL CIFRARIO DI VIGENÈRE E’ stato il prototipo di molti cifrari usati da professionistianche nel nostro secolo L’uso del cifrario di Vigenère richiede una parola chiave ed il quadrato di Vigenère ( 26 cifrari additivi in ordine naturale) La parola chiave può essere una qualunque sequenza di lettere Blaise de Vigenère (1523-1596) diplomatico francese
IL CIFRARIO DI VIGENÈRE Esempio parola chiave R E B U S R E B U S R E B U S R E testo chiaro c o d i c e m o l t o s i c u r o Testo cifrato T S E C U V Q P F L F W J W M I S REGOLA PER CIFRARE:la lettera della parola chiave che è sopra una certa lettera del testo in chiaro determina l’alfabeto (riga del quadrato) che viene usato per cifrare la lettera del testo in chiaro Anche il cifrario di Vigenère può essere forzato se la parola chiave è relativamente corta
Se non parliamo di lettere, ma di bit, il codice ottenuto si chiama “one-time pad” La crittologia è una scienza anche molto moderna per almeno due ragioni: a) molti prodotti moderni funzionano solo con la crittologia: in ogni telefonino, in ogni bancomat, nel pagamento via internet … il ruolo della crittologia è sempre essenziale b) in secondo luogo la crittologia di oggi è una scienza perché fa parte della matematica
Nell’anno 1976 avvenne una rivoluzione nella crittologia Due giovani americani, Diffie ed Hellman provarono che era possibile trasmettersi un messaggio segreto senza una chiave segreta comune Questo è l’anno di nascita della crittologia moderna, detta a chiave pubblica Due anni dopoRivest, ShamireAdleman hanno inventato il primo algortmo a chiave pubblica, l’algoritmoRSA Questo algoritmo è basato sulla teoria dei numeri e in particolare sul teorema di Eulero OSS.se la chiave è la stessa sia per crittare che per decrittare il messaggio si parla di sistema simmetrico o a chiave privata ; se l’algoritmo prevede chiavi diverse si parla di crittografia asimmetrica o a chiave publica
Se A vuole mandare a B un messaggio molto personale, - lo colloca in una scatola metallica, chiude la scatola con un lucchetto a e la spedisce a B tenendo la chiave - ricevuta la scatola, B applica un secondo lucchetto b e la rispedisce ad A tenendo con sé la chiave del lucchetto b - A riceve la scatola, rimuove il suo lucchetto e rispedisce a B la scatola - B può aprire la scatola con il suo lucchetto Questo è un esempio di come un messaggio segreto può essere trasmesso da una persona all’altra in modo sicuro OSS. E’ uno schema adoppia cifraturain cui è molto importante l’ordine in cui cifrature e decifrature sono eseguite
Anche se il trucco dei lucchetti non è immediatamente applicabile ai sistemi crittografici, esso rinforzò a determinazione di Diffie e Hellman a trovare il modo di aggirare la distribuzione delle chiavi Le loro ricerche si concentrarono sull’esame di variefunzioni matematiche “unidirezionali” come il loro nome suggerisce il risultato è facile da ottenere, ma tornare al punto di partenza è molto difficile esempio:mescolare vernice gialla e vernice blu è l’equivalente di una funzione unidirezionale, perché il procedimento è semplice, ma non è possibile tornare alla condizione di partenza l’ARITMETICA dei MODULI, chiamata a volte aritmetica dell’orologio, è un campo della matematica ricco di funzioni unidirezionali
Generalmente ci serviamo dell’orologio o della sveglia molte volte al giorno. I nostri orologi sono macchine per misurare il tempo e, qualsiasi strumento di misura è di “natura” matematica. Contando con i numeri che rappresentano le ore, spesso si ottengono risultati insoliti: sono le 7 e aggiungiamo 8 ore ……. 0 11 1 10 2 7+8=3 9 3 4 8 Si legge “7 più 8 uguale a 3 (modulo 12) “ 5 7 6 Questo tipo di aritmetica si chiamaaritmetica modulareo anchesistema di numerazione finito
Un’ altro sistema numerico finito si può costruire con i giorni della settimana: 0 domenica, 1 lunedì, 2 martedì,……, 6 sabato. alcune domande: 1. Se il 4 marzo era di domenica, che giorno era il 24 marzo? 2. Per trovare che giorno sarà il 4 marzo dell’anno successivo si potrebbe ragionare così… 3. Si può anche andare all’indietro e chiedersi: che giorno era il 4 marzo del 1907 ? IL PROBLEMA SI PUÒ RISOLVERE CONTANDO O CON L’ARITMETICA MODULO 7 Allo stesso modo si possono risolvere problemi del tipo: che ora sarà tra 1675 ore? Spiegazione parziale Se numeriamo le 24 ore del giorno da 0 a 23 e se, ora sono le 18,tra 1675 ore saranno (1675+18) mod 24, cioè le 13
Consideriamo l’insieme dei numeri interi Z e la relazione detta di congruenza modulo n (con n > 0), così definita: Due numeri a e bsono equivalenti modulo n se e solo se (a - b) è multiplo di n. Esempiose n = 5 , 12 e 7 sono equivalenti mod.5 se e solo se (12 – 7) è multiplo di 5 infatti 12 – 7 = 5 e 5 è multiplo di se stesso Con la relazione di equivalenza si può costruire l’insiemeZn delle classi di equivalenza, dette ancheclassi di resto modulo n NOTAa è multiplo di b se e solo se esiste un numero intero k tale che a = b • k
esempio classi di resto mod 5 [0] [1] [2] [3] [4] OSS. E’ interessante verificare che le ordinarie operazioni di addizione e moltiplicazione che sono definite in Z danno luogo a operazioni analoghe in Zn
CLASSI di RESTO MODULO 5 Tavola dell’addizione esercizio: [ 2 ] + [ 4 ] = [ 2 + 4 ] = = [ 5 + 1 ] = [ 1] la classe [2] rappresenta tutti gli elementi del tipo 2+5h, gli elementi della classe [4] sono del tipo 4+5k, la loro somma è2+5h+4+5k = 2+4+5(h+k) = 6+5(h+k) = 1+5+5(h+k) = = 1+5 (h+k+1): questo elemento appartiene alla classe [1].
CLASSI di RESTO MODULO 5 - L’operazione + è interna Tavola dell’addizione - Vale la proprietà associativa - Esiste l’elemento neutro [0] - Esiste , per ogni elemento il simmetrico (opposto) - L’insieme Z5 è chiuso rispetto alla somma [ a ] + [ b ] = [ a + b ] Nota [ a ]è simmetrico di[ b ]se e solo se [ a ]+ [ b ]= [ b ]+ [ a ]= [ 0 ]
CLASSI di RESTO MODULO 5 Tavola della moltiplicazione - L’operazione∙è interna - Vale la proprietà associativa • La classe [0] annulla qualunque prodotto - Esiste l’elemento neutro [1] - Esiste , per ogni elemento, diverso da [0] ilsimmetrico (o reciproco) 1 1; 2 3; 4 4 es. [ 2 ] x = [ 3 ]; x = [3] ∙ [2]simmetico ; x = [3] ∙ [3]; x = [4]
CLASSI di RESTO MODULO 6 Qui molte proprietà non sono valide: Tavola della moltiplicazione - Non è vero che ogni elemento ha il simmetrico: per i numeri 2, 3, 4 non esistono - Ci sono elementi diversi da zero che moltiplicati tra loro danno 0 - In alcune righe compare più volte uno stesso elemento N on vale la legge di annullamento del prodotto
Alcune EQUIVALENZE sono di notevole importanza (a + b) mod n = a mod n + b mod nciò vuol dire che il resto di una somma è uguale alla somma dei resti (a • b) mod n = a mod n • b mod nciò vuol dire che il resto di un prodotto è uguale al prodotto dei resti Se a e b sono uguali, (a • a) mod n = a mod n • a mod n = r • r = r2 con r resto della divisione di a per n NOTA:questa proprietà è utilizzata fondamentalmente nell’ambito della crittografia a chiave pubblica (RSA) con numeri primi. Infatti questa proprietà permette di determinare i resti delle divisioni tra numeri con un “ grande” numero di cifre
qualche esempio • 12² mod 11 = 144 mod 11 = 1 = ( 12 mod 11 )²= 1•1 = 1 • 329 mod 7 = 1 infatti si ottiene: • 32 mod 7 = 4 ; • 322 mod 7 = ( 32 mod 7)2 = (4•4) mod 7 = 2 • 324 mod 7 = (322 mod 7)2 = (2•2) mod 7 = 4 • 328 mod 7 = (324 mod 7)2 = (4•4) mod 7 = 2 • 329 mod 7 = (328 •32) mod 7 = (2•4) mod 7 = 1 Il metodo è ricorsivo e facilmente implementabile
LA PROVA DEL NOVE Supponiamo di aver moltiplicato due numeri a e b, e di aver ottenuto come risultato c. Rifacendo il calcolo, potremmo ottenere risultati uguali o diversi: se sono diversi siamo sicuri che almeno uno dei due è errato, se sono uguali non abbiamo la certezza che il risultato sia correttoperché potremmo aver fatto lo stesso errore in tutti due i calcoli. Lo stesso avviene con la prova del nove: se i conti “non tornano” siamo sicuri di aver sbagliato la prova o la moltiplicazione, se “tornano”, avremo la conferma dell’esattezza del risultato, ma mai la sicurezza
LA PROVA DEL NOVE La prova del nove è molto più veloce che non rifare la moltiplicazione e quindi è preferibile La prova del nove ( o dell’ 11, o ... ) si basa sul fatto che se a ∙b = c allora a mod p ∙ b mod p = c mod p Es.564 * 4318 = 2435352 a mod p 6 b mod p c mod p c mod p = 6 7 a mod p ∙ b mod p • (6 7) mod 9 = 6
Si potrebbe fare anche la prova del 2, ricordando che a mod 2 è uguale a 1 se a è dispari e a 0 se a è pari Se almeno uno dei due numeri da moltiplicare è pari il risultato deve essere pari, se ambedue sono dispari il risultato deve essere dispari Perché allora non si usa la prova del 2 ? Ricordiamo che se la prova non torna il risultato è sbagliato, ma se la prova torna, potrebbe funzionare per caso. E perché non si fa con 347? Ci sarebbero 347 casi possibili (0……346) e l’eventualità che la prova torni per caso è piuttosto remota.
Se volessimo usare un altro numero al posto del 9, ad es. 7, dovremmo conoscere il modo di trovare il resto mod 7 Il metododi Pascal per il calcolo dei resti mod 7 (1650) Il metodo proposto da Pascal utilizza le proprietà delle classi resto il numero 5342 è divisibile per 7 ? Il numero 5342 può essere scritto in forma polinomiale : 5 • 103 + 3 • 102 + 4 • 101 + 2 • 100 Pascaltrascrive il polinomio in una tabella a due righe 5 3 4 2 103 102 101 100 5 3 4 2 6 2 3 1 resti mod 7 dei termini della seconda riga Moltiplichiamo 5•6+3•2+4•3+2•1 = 50; 50 mod 7 = 1 e anche 5342 diviso 7 dà resto 1 (principio di sostituzione)
Nel descrivere il metodo di Pascal abbiamo incontrato una sequenza di numeri (…4 6 2 3 1), data dai successivi resti mod 7 delle potenze decrescenti di 10 ….la sequenza-resti diventa periodica e può esser utilizzata ogni volta che occorre In conclusione per vedere se un numero n è divisibile per 7 -si scrivono su una riga le cifre di n -si scrivono le sequenze-resti mod 7 sulla seconda riga -si moltiplicano i termini corrispondenti della prima e seconda riga -si sommano i prodotti ottenuti e si calcola il resto mod 7 -se il resto mod 7 è zero, allora n è divisibile per 7 Il ragionamento di Pascal è applicabile a qualunque altro criterio di divisibilità
P R O B L E M I • Risolvi l’equazione 4x = 3 nell’insieme delle classi di resto modulo 6 • Andrea, Bruno, Carlo, Dino e Enrico stanno facendo la conta e la somma delle dita è 22. a chi tocca, se la conta comincia da Dino? • Sulla lavagna un alunno ha eseguito una moltiplicazione: Fa’ la prova del nove e verifica se ci sono errori 324 x 47 = 2258 1306 • 15318 • Durante un esercizio sull’aritmetica delle classi resto, un alunno ha calcolato 5 + 4 = 2. In quale modulo è stata fatta l’addizione? • Quanto fa 8 : 4 nell’insieme delle classi resto modulo 12?
Il gioco dei fiammiferi • Il gioco consiste nel disporre su un tavolo un numero a piacere di fiammiferi. Dopo aver sorteggiato chi deve fare la prima mossa, si dà inizio al gioco, che consiste nel prelevare a turo dal tavolo un numero di fiammiferi compreso tra uno e tre. Vince chi riesce a costringere l’avversario a prendere l’ultimo fiammifero. Esiste una strategia vincente per chi fa la prima mossa? e… per finire La prova del 9 è abbastanza facile, ma anche la prova dell’ 11 può essere applicata senza troppi problemi Basta osservare che: 10 = - 1 mod 11; 100 = 10 ∙ 10 = 1 mod 11 e così via P R O V A
Risoluzione dei P R O B L E M I • Risolvi l’equazione 4x = 3 nell’insieme delle classi di resto modulo 6 • 4 •x = 3 x = 3 • 4simmetrico • se scorriamo la tavola moltiplicativa mod.6 , • non riusciamo a trovare il simmetrico o inverso di 4 pertanto l’equazione non ha soluzione (equazione impossibile in Z6) • Andrea, Bruno, Carlo, Dino e Enrico stanno facendo la conta e la somma delle dita è 22. a chi tocca, se la conta comincia da Dino? Dato che i ragazzi sono cinque, calcoliamo il resto 22 mod 5 = 2 . Il secondo ragazzo dopo Dino è Andrea
Sulla lavagna un alunno ha eseguito una moltiplicazione: Fa’ la prova del nove e verifica se ci sono errori 324 x 47 = 2258 1306 • 15318 0 2 324 mod 9 = 0 47 mod 9 = 2 0 • 2 = 0 anche 15318 mod 9 = 0 0 0 La prova del nove dà esito positivo, ma la moltiplicazione è ugualmente errata. Infatti 324 • 47 = 15228 Notanon sempre la prova del nove riesce a trovare errori
Durante un esercizio sull’aritmetica delle classi resto, un alunno ha calcolato 5 + 4 = 2. In quale modulo è stata fatta l’addizione? • Dato che 5 + 4 = 9 nell’ aritmetica decimale, il risultato 2 si può ottenere solo togliendo 7. • 5 + 4 = 2 + 7 5 + 4 = 2 (mod 7) • l’alunno sta usando le classi di resto modulo 7 • Quanto fa 8 : 4 nell’insieme delle classi resto modulo 12? La riga del 4 nella tabella moltiplicativa delle classi resto mod. 12 è : 0 4 8 0 4 8 0 4 8 0 4 8 L’8 compare ben 4 volte, in corrispondenza delle colonne 2, 5, 8 e 11, che rappresentano risposte valide ala domanda posta In altro modo:trova un numero x tale che 4•x = 8 soluzioni: 2, 5, 8, 11
Nell’equazione di ‘primo grado’ considerata, abbiamo trovato soluzioni diverse (2, 5, 8, 11) ; se gli elementi - classi di resti mod. 12 - ammettono il simmetrico rispetto la moltiplicazione, allora l’equazione ha un’ unica soluzione 5 •x = 8; x = 8 • 5 simmetrico; x = 8• 5; x = 4 (mod.12) 7 •x = 10; x = 10 • 7 simmetrico; x = 10 • 7; x =10 (mod.12) 11 •x = 3; x = 3 • 11 simmetrico; x = 3 • 11; x =9 (mod.12) 6 •x = 8 non ha soluzioni nell’insieme classi di resto mod.12 In generale Sia k è un intero primo con n. Comunque si assegni un intero h, l’equazione in x K •x = h (mod.12) ammette soluzioni e queste costituiscono un classe mod. n
Il gioco dei fiammiferi Si calcola il resto mod. 4 del numero dei fiammiferi (è come se ci fossero sul tavolo solo gli r fiammiferi del resto. Alla prima mossa, basta togliere da r tanti fiammiferi, in modo da lasciarne uno solo all’avversario. Da questo momento, qualunque numero di fiammiferi prenderà B, A ne prenderà quanti mancano per arrivare a 4 (se B ne prende 1, A ne prenderà 3; se B ne prende 2 A ne prenderà 2, … . Essendo 4 un elemento neutro (nelle classi resto mod.4), la situazione non cambia: sul tavolo ci sarà sempre virtualmente sempre un solo fiammifero (quello che rimarrà a B) Nel caso che il resto mod. 4 del numero iniziale di fiammiferi sia 1, A sarebbe destinato a perdere, ma A può ancora sperare che B non conosca le regole e quindi prima o poi commetta un errore lasciando sul tavolo un numero di fiammiferi (n mod 4) ≠ 1 La stessa situazione si ha se A gioca per secondo NotaA fa la prima mossa, B è l’avversario
Le classi resto dal punto di vista dell’algebra moderna Prendiamo l’insieme delle classi resto modulo k (numero primo), dotato di due operazioni +, • ; osserviamo che : L’addizione è un’operazione interna È associativa Esiste l’elemento neutro [0] 0gni elemento ha il suo elemento inverso (o simmetrico) La moltiplicazione è un’operazione interna È associativa Esiste l’elemento neutro [1] Ogni elemento, tranne 0, ha il suo elemento inverso (o simmetrico) L’insieme è un MONOIDE commutativo L’insieme è un GRUPPO e inoltre …
… la moltiplicazione è distributiva rispetto l’addizione cioè: x • (y + z) = x • y + x • z La presenza di tutte queste proprietà conferisce all’insieme la strutturadi ANELLO Diversa è la situazione sek non è primo Osserviamo che non vale più la legge di annullamento del prodotto, per la quale un prodotto è nullo se lo è almeno uno dei due termini. Ci sono cioè divisori dello zero es.nelle classi resto mod. 6, [2] • [3] = [0] oppure[0] : [2] = [3] ; una semplice equazione di primo grado … [4] •x = [2] ha due soluzioni: [2] e [5] [3] •x = [5] non ha soluzioni L’insieme Zk(+,•) con k, numero primo, ha la stessa struttura algebrica di Q (+,•) IMPORTANTE
N = {0, 1,2,3,4,5, ... }insieme deinumeri naturali Z= {0, +1, -1, +2, -2, +3 ... }insieme dei numeri interi relativi Q= {classi di frazioni equivalenti} insieme dei numeri razionali I : numeri decimali non periodici (numeri che non possono essere scritti come frazioni) I R=Q+I N R : l’insieme dei reali si divide in due sottinsiemi disgiunti, quello dei razionali Q e quello degli irrazionali I Z Q
ma … … ritorniamo alla crittografia a chiave pubblicae ricordiamo che Nel 1976 Diffie e Hellmann riuscirono a mostrare che per scambiarsi un messaggio segreto non è più indispensabile incontrarsi in privato per fissare una chiave Lo sviluppo delle loro idee ha portato alla costruzione di molteplici algoritmi per il controllo dell’identità digitale – firma – e per la comunicazione cifrata L’ idea si basa sullo studio degli elevamenti a potenza nelle classi di resto che permettono ai due comunicanti di accordarsi su una chiave comune con cui cifrare i propri messaggi e in particolare l’idea si basa su
TEOREMA : Se p è primo, e a è primo con p, a p – 1= 1 mod p (piccolo teorema di Fermat) Nel 1736 fu proprio Eulero a generalizzare il piccolo teorema di Fermat e a dimostrare che Dati due qualsiasi numeri primi m ed N primi tra loro allora è m (N ) - 1 = 0 (mod N) Il teorema permette di calcolare l’inverso di un numero in un’ aritmetica finita NOTA (N):funzione di Eulero che associa, a un numero intero N, il numero degli interi primi con N (minori di N) , è uno degli ingredienti fondamentali del cifrario RSA(Rivest, Shamir,Adlemann)
I due interlocutori A e B concordano un numero primo p molto grande e un intero g minore di p A sceglie un numero segreto a, calcola = ga(mod p) e lo comunica a B a sua volta B sceglie un numero segreto b , calcola = gb (mod p) e lo comunica ad A Sarà possibile per A calcolare s = a = gab ( mod p ) e per Bcalcolare lo stesso s = b = gab( mod p )
Chi avesse intercettato tutta la comunicazione, sarà in possesso dei numeri p, g, , , ma non conoscendo né a né b , non sarà in grado di calcolare s, perché nelle classi di resto non si conoscono algoritmi efficienti per calcolare per esempio a da g e Es: p=23, g=5Asceglie il valore segreto7 e calcola57 mod 23=17. AncheBsceglie un valore segreto, ad esempio,5, calcola55 mod 23 = 20 AeBsi comunicano i risultati: la chiave comune sarà 175mod 23 perBche è uguale a quello che si ricavaA, 207mod 23, ovvero 21. Il loro segreto in comune è 21 Chi ha ascoltato la conversazione conosce il 23, il 5, il 17 e il 20, ma per ricavare il segreto comune deve scoprire almeno uno degli esponenti scelti segretamente e mai comunicati Nell’esempio si può procedere per tentativi provando gli esponenti da 1 a 22, ma se i numeri fossero dell’ordine del miliardo di miliardi, ( con un miliardo di combinazioni al secondo), si impiegherebbe un tempo troppo lungo per decodificare il messaggio
L’aritmetica modulare è usata in numerosi crittosistemi per dissimulare ulteriormente l’informazione già trasformata da una funzione di cifratura. L’ utilità dell’aritmetica modulare è mostrata già dalla semplice funzione di cifratura C = P3.
Al crescere di P, la crescita continua di P3 rende possibile invertirela funzione, ovvero determinare il valore di P che corrisponde a un dato valore di C, anche senza una formula semplice per esprimere P come radice cubica di C. Più precisamente, un valore di P che fornisca un valore piccolo di C è esso stesso piccolo, uno che dia luogo a un valore elevato è elevato. Se invece si introduce la modularità, C ‘ è uguale a P3 modulo 11, e i valori della funzione hanno un andamento disordinato. Al crescere di P, C ‘ varia in modo affatto discontinuo, celando efficacemente P.