CRITTOGRAFIA E NUMERI PRIMI TFA A059 ANNA NOBILI OTTAVIANO ROSI

Documenti analoghi
RSA e firma digitale

Elementi di Algebra e di Matematica Discreta Cenno di un applicazione alla crittografia

(G, ) un gruppo moltiplicativo di ordine n l ordine di un elemento g G, o(g), è il minimo intero positivo m tale che g m = 1

Introduzione alla crittografia. Diffie-Hellman e RSA

da chi proviene un messaggio?

Fattorizzazione di interi e crittografia

idea della crittografia a chiave pubblica

Definizione. La crittografia serve per: Crittografia deriva dal greco = scrittura nascosta

Dal messaggio a sequenze di numeri

Lo stesso procedimento ci permette di trovare due interi x, y tali che M.C.D. = ax + by. Ma quando esistono x, y soluzioni dell equazione diofantea

Crittografia con Python

RACCOLTA DI ALCUNI ESERCIZI TRATTI DA COMPITI D ESAME SUL SISTEMA CRITTOGRAFICO RSA

Nome. Esercizio 2. Risolvere il seguente sistema di congruenze lineari:

Il Ricevente comunica pubblicamente una chiave e. Il Mittente codifica il messaggio usando la funzione f(m, e) = C e

Breve storia della crittografa

L'enigma dei numeri primi

A.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5.

la crittografia tratta delle "scritture nascoste", dei metodi per rendere un messaggio "offuscato"

La crittografia. La crittografia è un'arte antica, risale almeno ai Greci (Tucidide, scitala lacedemonica).

Introduzione alla Crittografia

schema di firma definizione formale

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola:

Crittografia. Steganografia

crittografia a chiave pubblica

Aritmetica modulare, numeri primi e crittografia

L agoritmo RSA. Gregorio D Agostino. 3 Aprile 2017

Programmazione in Rete

DIARIO DEL CORSO DI TEORIA DEI NUMERI E CRITTOGRAFIA. (41 ore complessive di lezione)

4 0 = 4 2 = 4 4 = 4 6 = 0.

Aritmetica e Crittografia

Corso di Crittografia Prof. Dario Catalano. Primitive Asimmetriche

Università del Piemonte Orientale

Crittografia. 2 Introduzione alla Crittografia

Privacy e firma digitale

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n

Piccolo teorema di Fermat

Crittografia a chiave pubblica

Aritmetica modulare: un applicazione alla crittografia

Laurea Magistrale in Bioingegneria Corso di Informatica Medica (Prof. Giovanni Sparacino) A.A

CRITTOGRAFIA: introduzione

NUMERI E CRITTOGRAFIA. Carlo Toffalori (Camerino) Scuola Estiva Mathesis Telese Terme, 28 luglio 2015

COMPITO DI ALGEBRA TRENTO, 13 GENNAIO 2016

Elementi di Algebra e di Matematica Discreta Strutture algebriche: anelli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

DIARIO DEL CORSO DI ALGEBRA A.A. 2009/10 DOCENTE: ANDREA CARANTI

623 = , 413 = , 210 = , 203 =

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo

CRITTOGRAFIA. Umberto Cerruti. 3 Ottobre 2007, INFN Frascati. Università di Torino

Crittografia Aritmetica modulare

Un po di teoria dei numeri

Introduzione alla crittografia

La rappresentazione delle informazioni

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

Crittografia: dagli antichi codici di Cesare ai protocolli avanzati

Moltiplicazione. Divisione. Multipli e divisori

CIFRARI MONOALFABETICI

L ARITMETICA MODULARE

Reti di Calcolatori. Crittografia & Java Cryptographic Architecture (JCA) A.A. 2010/2011 Reti di Calcolatori 1 (Es. 6)

CODICI SEGRETI: UN VIAGGIO NELLA CRITTOGRAFIA

Piano cartesiano e retta

Crittografia a chiave pubblica

CORSO ZERO DI MATEMATICA

Sicurezza dei Calcolatori e delle Reti. Introduzione alla crittografia Lez. 2. A.A. 2010/2011 Corso: Sicurezza 1 Danilo Bruschi

Insiemistica. Capitolo 1. Prerequisiti. Obiettivi. Gli insiemi numerici di base Divisibilità e fattorizzazione nei numeri interi

Introduzione alla Crittografia Moderna

Matematica nascosta Qualche esempio di matematica che usiamo tutti i giorni senza saperlo Riccardo Ricci

Seminario Formativo. Cenni di Crittografia

NUMERI PRIMI E TEORMA FONDAMENTALE DELL ARITMETICA Definizione 1. Sia p Z, p ±1. Si dice che p è primo se

Crittografia da Whatsapp a Wikileakes, tra spie e segreti di stato

Crittografia con Python

Seminario Sull Algoritmo R.S.A.

II Esonero di Matematica Discreta - a.a. 06/07. Versione B

Registro Lezioni di Algebra lineare del 15 e 16 novembre 2016.

Appunti su Indipendenza Lineare di Vettori

Cifrare le informazioni Informazione per il docente

Università deglistudidiromatorvergata-tfa Classe A049 Complementi di matematica II 19 marzo 2013

Agostino Dovier. Dip di Matematica e Informatica, Univ. di Udine

- Brevissima storia della crittografia -

Primo modulo: Aritmetica

m = a k n k + + a 1 n + a 0 Tale scrittura si chiama rappresentazione del numero m in base n e si indica

La prima parte, la generazione della coppia di chiavi, viene solitamente effettuata in questo modo:

Gli insiemi N, Z e Q. I numeri naturali

ESERCITAZIONE N.8. Il calcolatore ad orologio di Gauss. L aritmetica dell orologio di Gauss. Operazioni e calcoli in Z n

SICSI VIII ciclo Classe A042 - Storia dell'informatica e del Calcolo Automatico. Storia dei Numeri Primi. I Precursori della Crittografia Moderna

Programma di Algebra 1

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Corso di Sicurezza su Reti Uso della crittografia simmetrica

Esercizi sull uso della crittologia a chiave asimmetrica o PKI (Public Key Infrastructured)

Sistemi di Elaborazione delle Informazioni

conclude infine con una riflessione relativa alla correlazione esistente fra la ricerca della riservatezza, anche attraverso la legge sulla privacy,

Corso di Crittografia Prof. Dario Catalano. Firme Digitali

Matematica Discreta e Algebra Lineare (per Informatica)

IL DISCO DI ALBERTI. Museo della Matematica Lucio Lombardo Radice

PREPARAZIONE ALLE GARE DI MATEMATICA - CORSO BASE

1 Soluzione degli esercizi del capitolo 4

Lezione 3 - Teoria dei Numeri

DIARIO DEL CORSO DI ALGEBRA A.A. 2010/11 DOCENTE: ANDREA CARANTI

Campi finiti: Introduzione

Due numeri naturali non nulli a, b tali che MCD(a,b) = 1 si dicono coprimi o relativamente primi.

Storia della Crittografia. dalle origini al XVI secolo

Transcript:

CRITTOGRAFIA E NUMERI PRIMI TFA A059 ANNA NOBILI OTTAVIANO ROSI

Cenni Storici Nasce dall esigenza di avere metodi efficienti per comunicare in modo segreto e sicuro. La crittografia non mira a nascondere il messaggio in sé, ma il suo significato. Il messaggio viene alterato per mezzo di un procedimento precedentemente concordato dal mittente e dal destinatario. Quest ultimo può invertire il procedimento e ricavare il testo originale.

Cenni Storici Plutarco Vite Parallele: gli efori, cioè i magistrati che avevano il compito di controllare l'opera dei re ed erano responsabili della politica estera, trasmettevano ai generali messaggi segreti con un metodo molto ingegnoso. Mittente e destinatario facevano uso di due bastoni di legno cilindrici perfettamente uguali, cioè aventi lo stesso diametro e la stessa lunghezza; tale pezzo di legno era noto come scitala.

Cenni Storici Nel Vecchio Testamento troviamo alcuni esempi di primitivi schemi di cifratura: l Atbash, l Albam, l Atbah.

Cenni Storici ATBASH: l'alfabeto viene scritto in ordine inverso di conseguenza, alla prima lettera corrisponde l'ultima, alla seconda la penultima,., e all'ultima la prima.

Graficamente:

Cenni Storici ALBAM: l'alfabeto viene diviso in due parti uguali: 1 : A, B, C,, K, L, M 2 : N, O, P,, X, Y, Z. Ogni lettera viene sostituita con la lettera corrispondente nell'altra metà.

Graficamente

Cenni Storici ATBAH: - le prime nove lettere vengono sostituite in modo che la somma delle posizioni della lettera sostituita e quella sostituente sia uguale a 10, - le altre nove lettere in maniera analoga con somma uguale a 28, - le ultime otto lettere in maniera analoga con somma uguale a 45.

Graficamente

Crittosistema Un crittosistema è una 5-pla (P, C, K, E, D) che soddisfa le seguenti condizioni: P = Insieme finito dei possibili testi veri, C = Insieme finito dei possibili testi cifrati, K = Insieme finito di possibili chiavi di codifica, E = Insieme delle funzioni di codifica che producono il testo cifrato a partire dal testo vero, D = Insieme delle funzioni di decodifica in grado di ricostruire il testo vero a partire dal testo cifrato, in modo tale che k K e k E, d k D: x P d k e k x = x

Si è soliti considerare P = C = Z 26 Ovvero ad ogni lettera dell alfabeto in chiaro viene assegnato il numero x 0,, 25 corrispondente alla sua posizione nell alfabeto. A, B, C, D,., X, Y, Z 0, 1, 2, 3,.., 23, 24, 25

Protagonisti In generale, faremo comunicare tre personaggi: Alice, Bob e Oscar Scopo di A e B è quello di comunicare attraverso un canale sicuro, Scopo del nemico O è quello di infrangere il crittosistema ovvero riuscire a determinare la chiave segreta k.

Crittografia a chiave simmetrica o privata In questi crittosistemi la chiave utilizzata per la codifica del messaggio è la stessa utilizzata anche per la decodifica. Soltanto A e B sono in possesso di questa chiave. A e B devono aver stabilito in precedenza la chiave di comune accordo.

Shift Cipher (crittosistema di scorrimento) P = C = K = Z 26 Dati x P, k K y = e k x = x + k mmm 26 x = d k y = y k mmm 26 Il sistema consiste in una semplice traslazione di tutte le lettere dell alfabeto di un numero prestabilito di posizioni, che costituisce la chiave.

Esempio: C R I T T O S I S T E M A 2 17 8 19 19 14 18 8 18 19 4 12 0 k = 4 6 21 12 23 23 18 22 12 22 23 8 16 4 G V M X X S W M W X I Q E

Cenni Storici Giulio Cesare Svetonio, nella Vita dei Cesari, racconta che lo Shift Cipher è uno dei metodi usati dal grande condottiero. Nel Cifrario di Cesare la chiave scelta è k = 3 Ogni singola lettera dell'alfabeto in chiaro viene trasposta nella terza che la segue.

Osservazioni K = Z 26 = 26 Il crittosistema viene infranto con una ricerca esaustiva delle chiavi! L analisi del testo cifrato può fornirci informazioni sul testo vero (se di senso compiuto!): - Analisi delle frequenze: nella lingua italiana le lettere più frequenti sono a,e,i mentre le meno usate q,z - Lettere consecutive identiche saranno molto probabilmente consonanti - La maggior parte delle parole termina con a,e,i,o

Aritmetica Modulare Pietro, Alice e Mario vogliono giocare a nascondino e devono decidere chi si deve accecare. Fanno la conta.

Aritmetica Modulare Da Pietro ultimo Mario. Pietro 4 3 Alice 1 Mario Somma = 8 vince Alice

Aritmetica Modulare Riproviamo Da Pietro ultimo Mario. Pietro 1 2 Alice 2 Mario Somma = 5 vince Alice

Aritmetica Modulare Riproviamo Da Pietro ultimo Mario. Pietro 5 5 Alice 4 Mario Somma = 14 vince Alice

Aritmetica Modulare Le tre conte sono equivalenti: 8, 5, 14 danno infatti tutti lo stesso risultato, sono congruenti modulo 3. Siano a e b due interi e m un intero strettamente positivo, detto modulo. Si dice che a e b sono congruenti modulo m se m divide a b. In simboli: a b mmm m.

Affine Cipher (crittosistema affine) P = C = Z 26 K = a, b : a Z 26, b Z 26 Dati x P, k K y = e k x = aa + b mmm 26 x = d k y = a 1 y b mmm 26 Per garantire l esistenza dell elemento a 1, inverso moltiplicativo di a, e quindi il corretto funzionamento della funzione di decodifica è necessario che a appartenga al gruppo degli invertibili di Z 26.

Osservazioni Z 26 = 26 Z 26 = φ(26) = 12 K = 12 26 Nuovamente, il crittosistema viene infranto con una ricerca esaustiva delle chiavi!

Substitution Cipher (crittosistema di sostituzione) P = C = Z 26 K = SSS 26 Dati x P, σ K y = e σ x = σ x x = d σ y = σ 1 y Il sistema consiste nell applicare una permutazione su 26 elementi durante la codifica del messaggio e nell applicare la sua inversa durante la decodifica.

Esempio: C R I T T O S I S T E M A 2 17 8 19 19 14 18 8 18 19 4 12 0 k = σ = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 4 5 9 7 8 1 0 3 6 19 11 21 16 23 12 20 10 18 14 22 13 25 24 17 15 5 10 3 14 14 23 18 3 18 14 7 21 2 F K D O O X S D S O H V C

Osservazioni K = SSS 26 = 26! Nuovamente, il crittosistema viene infranto con una ricerca esaustiva delle chiavi! CRITTOSISTEMI MONOALFABETICI: Ogni lettera è cifrata indipendentemente dalla posizione che occupa nel messaggio da inviare CRITTOSISTEMI POLIALFABETICI: La cifratura della lettera dipende dalla posizione che occupa nel messaggio da inviare

Crittosistema di Vigenère m P = C = K = Z 26 Dati x = x 1,, x m P k = k 1,, k m K con m Z lunghezza del messaggio y = e k x = x 1 + k 1,, x m + k m mmm 26 x = d k y = y 1 k 1,, y m k m mmm 26 Il sistema consiste nell applicazione di più shift cipher distinti, ciascuno su ogni lettera.

Esempio: C R I T T O S I S T E M A 2 17 8 19 19 14 18 8 18 19 4 12 0 13 k = 2, 15, 21,3,0,16,11,5,4,7,13,4,2 Z 26 4 6 3 22 19 4 3 13 22 0 17 16 2 E G D W T E D N W A R Q C

Osservazioni K = Z m 26 = 26 m Il crittosistema venne infranto nella seconda metà del 1800! L analisi del testo cifrato non riesce più a fornirci informazioni sul testo vero (anche se di senso compiuto!): - A lettere uguali del testo cifrato non è detto corrispondano lettere uguali del testo vero - Lettere consecutive identiche non è detto siano consonanti

Permutation Cipher m P = C = Z 26 con m Z lunghezza del messaggio K = SSS m Dati x = x 1,, x m P, σ K y = e σ x = x σ 1,, x σ m x = d k y = y σ 1 1,, x σ 1 m Il sistema consiste nell applicare la permutazione alle posizioni delle lettere e spostarle di conseguenza. Il messaggio cifrato è, a tutti gli effetti, un anagramma del messaggio originale.

Esempio: C R I T T O S I S T E M A 2 17 8 19 19 14 18 8 18 19 4 12 0 2 8 14 17 19 8 19 18 19 0 12 18 4 C I O R T I T S T A M S E

Osservazioni K = SSS m = m! Nuovamente, il crittosistema viene infranto con una ricerca esaustiva delle chiavi!

Cenni Storici - Enigma Molto simile ad una macchina da scrivere, fu inventata nel 1918 da Arthur Scherbius. Fu utilizzata dal servizio delle forze armate tedesche durante la seconda Guerra Mondiale. I crittografi britannici e il gruppo di lavoro del matematico inglese Alan Turing, con la collaborazione del matematico polacco Marin Rejewsky e l'aiuto di calcolatori elettromeccanici detti "bombes", permisero all'intelligence inglese di decifrare importanti messaggi in codice dell'esercito del Reich.

Struttura di Enigma

Prova tu!

Crittografia a chiave asimmetrica o pubblica A e B sono in possesso di due chiavi diverse per la codifica e la decodifica del messaggio. La chiave utilizzata per la codifica del messaggio è pubblica, mentre la chiave utilizzata per la decodifica è privata. Chiunque può utilizzare la chiave pubblica per criptare un messaggio, ma solo il proprietario della chiave segreta sarà in grado di leggerne il contenuto. A e B non hanno più una chiave comune da dover stabilire in precedenza o comunicarsi in maniera sicura.

Metodo dello scambio di chiavi di Diffie - Hellman A e B scelgono pubblicamente un gruppo finito G e un elemento g G, A sceglie privatamente un intero a e calcola c = g a G, B sceglie privatamente un intero b e calcola d = g b G, A invia a B l elemento c così ottenuto, B invia a A l elemento d così ottenuto,

A questo punto: A riceve d e calcola k = d a = B riceve c e calcola k = c b = g b a = g bb g a b = g aa Chiaramente, A e B ottengono lo stesso risultato che può essere utilizzato direttamente come chiave senza bisogno di averla precedentemente stabilita!

Il crittosistema RSA Uno dei cifrari asimmetrici più conosciuti è l algoritmo RSA, acronimo formato dalla prima lettera dei cognomi di coloro che lo inventarono nell'aprile del 1977 segnando una svolta nella storia della Crittografia: Ronald L. Rivest, Adi Shamir Leonard M. Adleman.

A genera le sue chiavi pubbliche e private A genera due numeri primi distinti p e q segreti e calcola il prodotto n = pp che viene reso pubblico A calcola φ n = (p 1)(q 1) segreta A sceglie un intero b: 1 < b < φ(n) L intero b è pubblico b, φ n = 1 A calcola un intero a: aa 1 mmm φ(n) L intero a è segreto

Ricapitolando: Utente Chiave pubblica Chiave privata A (n, b) (p, q, a) Ogni utente del sistema ha, quindi, una coppia di chiavi pubbliche che vengono pubblicate da un ente che ne garantisce l autenticità. Utilizzando queste chiavi, che chiunque può leggere, è possibile cifrare un messaggio che può essere decodificato solo dal possessore delle chiavi pubbliche con cui è stato cifrato!

B invia un messaggio cifrato ad A B legge la chiave pubblica di A Chiave pubblica (n, b) B codifica il messaggio m utilizzando la chiave pubblica di A, calcolando c m b mmm n B invia il messaggio cifrato c ad A

A decodifica il messaggio ricevuto A riceve il messaggio cifrato c da B A decodifica il messaggio, utilizzando la sua chiave privata, calcolando m c a mmm n Infatti m mb a mmm n m m bb mmm n ricordando che aa 1 mmm φ(n).

Il crittosistema RSA P = C = Z n dove n = pp K = n, p, q, a, b : aa 1 mmm φ(n) Dati x P, k K y = e k x = x b mmm n x = d k y = y a mmm n Infatti y a x bb mmm n y a x (tt n +1) mmm n y a xφ n t y a x x mmm n mmm n

Osservazioni I primi distinti p e q sono dell ordine di almeno 2 300. Gli utenti A e B non devono scambiarsi nessuna chiave in maniera sicura. L algoritmo RSA viene considerato sicuro perché si ritiene che solo individuando i fattori primi della chiave pubblica n sia possibile decifrare il messaggio. Tale problema è ritenuto ancora oggi irrisolvibile. Anche il calcolo della funzione di Eulero, senza conoscere i fattori primi di n, comporta una complessità paragonabile alla fattorizzazione.

RSA resta, ad oggi, un cifrario inviolato!

A dire il vero La mole di calcoli aritmetici (elevamento a potenza in un aritmetica finita) per numeri così grandi si traduce in una lentezza computazionale del processo di codifica RSA è di solito utilizzato per trasmettere la chiave segreta di un crittosistema a chiave privata con cui viene codificato il messaggio

Fondamenti teorici - I numeri primi Risultati fondamentali: Esistenza di infiniti numeri primi Teorema fondamentale dell aritmetica Sappiamo ancora molto poco sui numeri primi: Non si conosce una formula che permetta di generare numeri primi Non si conosce la distribuzione dei numeri primi Non si conoscono metodi veloce per stabilire se un numero è primo (test di primalità) Non si conoscono metodi veloci di fattorizzazione

Fondamenti teorici La funzione di Eulero La funzione di Eulero associa ad ogni numero n il numero dei numeri interi coprimi con n e minori di n, compreso l 1. Es. φ 18 = 6 I numeri coprimi con 18 sono 1, 5, 7, 11, 13, 17 Risultati fondamentali: φ n = n 1 1 n 1 1 1 n t dove n 1,, n t sono i fattori primi distinti di n φ p = p 1 con p primo φ pp = (p 1) q 1 con p, q primi

Fondamenti teorici Eulero, Fermat Piccolo teorema di Fermat: Dato un intero p primo, per ogni intero a si ha che a p a mmm p Il Teorema di Eulero - Fermat: Dati due interi qualsiasi a,n tali che a, n = 1 si ha che a φ(n) 1 mmm n

Fondamenti teorici Il Teorema cinese del resto Se m, n Z soddisfano m, n = 1, il sistema di congruenze x a mmm m x b mmm n Ammette soluzione per ogni scelta di a, b Z, che è unica modulo mn. Il cifrario RSA deve fare calcoli modulo pq, dove p e q sono numeri primi molto grandi! Il teorema cinese del resto permette di fare calcoli in modulo p e q con una sensibile riduzione di tempi.