idea della crittografia a chiave pubblica

Documenti analoghi
idea della crittografia a chiave pubblica

crittografia a chiave pubblica

logaritmo discreto come funzione unidirezionale

schema di firma definizione formale

(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

da chi proviene un messaggio?

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

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

Introduzione alla crittografia. Diffie-Hellman e RSA

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

Esercizi 2. Marco Anisetti

RSA e firma digitale

da chi proviene un messaggio?

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici (Terza Parte): RSA-OAEP e Cifrari basati sull identita

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

Altre alternative a RSA interessanti e praticabili

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

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

COMPITO DI ALGEBRA TRENTO, 13 GENNAIO 2016

L'enigma dei numeri primi

Crittografia per la sicurezza dei dati

RSA: Calcolo della chiave privata

Crittografia a chiave pubblica

La codifica digitale

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

L agoritmo RSA. Gregorio D Agostino. 3 Aprile 2017

Crittografia con Python

Crittografia: dagli antichi codici di Cesare ai protocolli avanzati

Elementi di Crittografia

Esercizi di Algebra. Anna Bigatti. 13 Novembre Ora vogliamo definire una operazione +, cioè dobbiamo definire quando fa a + b.

CRITTOGRAFIA E NUMERI PRIMI TFA A059 ANNA NOBILI OTTAVIANO ROSI

Funzioni di hash sicure: MD5 e SHA-1

una possibile funzione unidirezionale

Dal messaggio a sequenze di numeri

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

Cifrari asimmetrici. Cifratura. Cifratura. Crittosistema ElGamal. file pubblico utente chiave pubblica. Alice. file pubblico utente chiave pubblica

Crittografia a chiave pubblica

La crittografia moderna e la sua applicazione

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

La codifica dei numeri

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities

Geometria BIAR Esercizi 2

Privacy e firma digitale

Accordo su chiavi. (key agreement) Alfredo De Santis. Marzo Dipartimento di Informatica Università di Salerno

Esercizi di Programmazione Lineare - Dualità

Elementi di crittografia

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Crittografia a chiave pubblica

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP

Aritmetica dei Calcolatori

Anno 4 Matrice inversa

Sviluppo di programmi

LICEO STATALE ENRICO MEDI CON INDIRIZZI:

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

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

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3

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

La codifica. dell informazione

Complementi ed Esercizi di Informatica Teorica II

Come ragiona il computer. Problemi e algoritmi

Corso di Crittografia Prof. Dario Catalano. Firme Digitali

La crittografia a curve iperellittiche

Esercitazione di Calcolo Numerico 1 22 Aprile Determinare la fattorizzazione LU della matrice a 1 1 A = 3a 2 a 2a a a 2 A =

Aritmetica e Crittografia

Lucchetto con combinazione (3 numeri tra 0 e 39)

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

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni

un protocollo è costituito da una serie di passi (step) e coinvolge due o più persone (parti, entità) allo scopo di svolgere un incarico

Laboratorio di Algoritmi e Strutture Dati

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

Moltiplicazione. Divisione. Multipli e divisori

x 1 x 2 x 3 x 5 La base iniziale è B 0 = I e risulta x B 0 = , x N 0 = Iterazione 0. Calcolo dei costi ridotti. γ 0 = c N 0 (N 0 ) T c B 0 =

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Robustezza crittografica della PEC

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

Sicurezza e Crittografia

La rappresentazione dei dati

Problemi, istanze, soluzioni

La codifica. dell informazione

Aspetti crittografici dell online banking

Corso di Crittografia Prof. Dario Catalano. Cifrari Simmetrici (Prima Parte)

Sistemi lineari - Parte Seconda - Esercizi

Aritmetica modulare: un applicazione alla crittografia

Un po di teoria dei numeri

Rappresentazione delle frazioni proprie Aritmetica in binario Barbara Masucci

Corso di Sicurezza nelle reti a.a. 2009/2010. Raccolta di alcuni quesiti del corso da 5CFU e prima parte del corso da 9CFU

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

Lezioni di Informarica. Prof. Giovanni Occhipinti

Introduzione alla Crittografia

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

M.C.D.(3522, 321) = 3 = ( 36) (395) 321

RICORSIONE. Informatica B - A.A. 2013/2014

a + 2b + c 3d = 0, a + c d = 0 c d

Matematica Discreta e Algebra Lineare (per Informatica)

Lunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27

METODI DELLA RICERCA OPERATIVA

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Accordo su chiavi (key agreement)

Studieremo le congruenze lineari, cioe le equazioni del tipo

Transcript:

idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura e k Alice (e chiunque altro) può scrivere a Bob, cifrando il messaggio con la e k senza bisogno di accordi preliminari Bob è l unico che può decifrare il messaggio la funzione di cifratura e è una funzione unidirezionale (one-way function) informalmente, una funzione invertibile f : P C si dice unidirezionale se dato x P, il calcolo di f (x) è facile per quasi tutti gli y C il calcolo di f 1 (y) è difficile problema dello zaino (knapsack problem) un problema NP completo è il problema dello zaino dato uno zaino che può contenere b unità e dati k oggetti di volume a 1,..., a k il problema è riempire lo zaino usando alcuni oggetti della lista

problema dello zaino (knapsack problem) dobbiamo trovare una k-pla (e 1,..., e k ), e i = 0, 1 tale che b = i e ia i se possibile oppure mostare che una tale k-pla non esiste il problema è in NP data una k-pla, è facile verificare se è una soluzione ma trovare una soluzione è difficile procedendo per tentativi ho 2 k possibilità da controllare e non si conosce un algoritmo veloce per risolverlo il problema dello zaino è NP completo esempio data la lista (323, 412, 33, 389, 544, 297, 360, 486) e dato b = 1228 un metodo possibile è un procedimento greedy (avido, goloso) a ogni passo, prendo l oggetto più grande che entra ancora nello zaino in questo esempio, ho 1228 = 544 + 684 = 544 + 486 + 198 = 544 + 486 + 33 + 165 e qui ci fermiamo invece si ha che 1228 = 412 + 33 + 297 + 486 se avessimo una lista di 100 numeri di 50 cifre ognuno il problema diventa inavvicinabile

sequenze supercrescenti ci sono particolare k-ple per cui il problema dello zaino è facile la sequenza (a 1,..., a k ) si dice supercrescente se ogni termine è maggiore della somma dei termini precedenti i 1 j=1 a j < a i se ho una lista (a 1,..., a k ) supercrescente è facile vedere che il procedimento greedy visto prima risolve il problema dello zaino e che - se esiste - la soluzione è unica per esempio la successione 1, 2, 4, 8, 16,... delle potenze di due è supercrescente il procedimento greedy è quello che si usa per scrivere un intero in base 2 sequenze supercrescenti-esempio data la lista supercrescente (1, 3, 7, 15, 31, 63, 127, 255) dato b = 328 328 = 255 + 73 = 255 + 63 + 10 = 255 + 63 + 7 + 3

un crittosistema dal problema dello zaino la chiave pubblica di Bob è una lista (a 1,..., a k ) di interi positivi per cifrare, il messaggio dev essere una stringa binaria di lunghezza k x = (e 1,..., e k ), e i = 0, 1 Alice calcola i e ia i = b e trasmette b a Bob nessun attaccante può decifrare bisogna risolvere un problema dello zaino! in questo momento, non può decifrare neanche Bob... il crittosistema di Merkle Hellman non possiamo usare una sequenza supercrescente come chiave pubblica! bisogna mascherare questa proprietà Bob sceglie una lista (a 1,..., a k ) supercrescente sceglie poi un intero n > a i e un intero u con (u, n) = 1 costruisce una nuova lista (a 1,..., a k ) dove a i = ua i (mod n) (a 1,..., a k ) è la chiave pubblica (a 1,..., a k ), n e u sono la chiave privata

la cifratura funziona come già detto: Alice deve cifrare x = (e 1,..., e k ) calcola i e ia i = b e trasmette b a Bob per decifrare, Bob calcola v, l inverso di u modulo n poi calcola vb b mod n b vb = v e i a i v e i ua i modulo n v e i ua i = uv e i a i e i a i modulo n ora sia b che e i a i sono minori di n = a i quindi b = e i a i Bob deve risolvere un caso facile del problema dello zaino per decifrare esempio data la lista supercrescente (1, 3, 7, 15, 31, 63, 127, 255) Bob sceglie n = 557 maggiore della somma dei termini della lista e u = 323 coprimo con 557 moltiplicando per 323 e riducendo mod 557 ottiene (323, 412, 33, 389, 544, 297, 360, 486) la stringa binaria 01100101 viene codificata da Alice come 412 + 33 + 297 + 486 = 1228 Bob riceve 1228 sa che l inverso di 323 mod 557 è 169 calcola 1228 169 mod 557 e ottiene 328 328 = 255 + 73 = 255 + 63 + 10 = 255 + 63 + 7 + 3 riottiene quindi la stringa 01100101

il crittosistema di Merkle Hellman il crittosistema ora descritto è dovuto a Merkle e a Hellman (1978) è elegante e molto più semplice dell RSA sfortunatamente non è molto sicuro A. Shamir, A polynomial-time algorithm for breaking the basic Merkle - Hellman cryptosystem, IEEE Transactions on Information Theory (1984) il mascheramento non funziona molto bene