Accordo su chiavi. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi. Diffie-Hellman [1976] Diffie-Hellman [1976] ??

Documenti analoghi
Generatori. Accordo su una chiave. Diffie-Hellman [1976] Diffie-Hellman [1976] Diffie-Hellman [1976] Potenze in Z 19. iagio nnarella. nnarella.

Generatori di Z p. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi ?? K. Potenze in Z 19 26/05/2005. Vedremo due schemi: Esempio: * a

Accordo su chiavi (key agreement)

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

Firme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale

M firma. M firma. Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale. Equivalente alla firma convenzionale

Crittografia a chiave pubblica

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

Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale A?? Equivalente alla firma convenzionale

Corso di Crittografia Prof. Dario Catalano. Primitive Asimmetriche

Crittografia a chiave pubblica

RSA. Chiavi RSA. Firma Digitale. Firma Digitale. Firma Digitale. Desiderata per la Firma Digitale. Corso di Sicurezza su Reti 1

Numeri casuali. Randomness by obscurity. Generazione Deterministica? Caratteristiche del sistema. Caratteristiche del sistema

QUICKSORT. Basato sul paradigma divide-et-impera (come MERGE-SORT)

Introduzione al Corso di Algoritmi

Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi:

Cifratura. Decifratura. Cifratura. Decifratura. Crittografia a chiave pubblica ed a chiave privata. Corso di Sicurezza su Reti 1

Firme digitali. Firma Digitale. Firma Digitale. Corso di Sicurezza su Reti Lezione del 17 novembre Equivalente alla firma convenzionale

Algoritmi e Strutture Dati

(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

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

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

Numeri casuali. Randomness by obscurity. Generazione Deterministica? Caratteristiche del sistema. Caratteristiche del sistema

logaritmo discreto come funzione unidirezionale

Efficienza: esempi. Fondamenti di Informatica. Ferdinando Cicalese. Nella lezione precedente. Pseudocodice per descrivere algoritmi

crittografia a chiave pubblica

Crittografia a chiave pubblica

Ottimizzazione dei Sistemi Complessi

Efficienza: esempi. Nella lezione precedente. Fondamenti di Informatica. Ferdinando Cicalese. ! Qualche problema computazionale

Corso di Perfezionamento

Strutture dati per insiemi disgiunti

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

Crittografia a chiave pubblica

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

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

Il problema dello zaino

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

La crittografia a curve iperellittiche

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort

Esempio: somma di due numeri

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

Cifratura a chiave pubblica Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

Esercizi vari. Alberto Montresor. 19 Agosto, 2014

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici: Il cifrario Paillier

PROGRAMMAZIONE STRUTTURATA

Introduzione alla Crittografia

Università del Piemonte Orientale

Esercizi di Algoritmi e Strutture Dati

Crittografia a chiave pubblica

Introduzione agli Algoritmi

Tempo e spazio di calcolo (continua)

Problemi, istanze, soluzioni

Esercizi Capitolo 2 - Analisi di Algoritmi

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

PARTE III MACCHINE A REGISTRI

Tempo e spazio di calcolo (continua)

Algoritmi e Strutture Dati

Studio degli algoritmi

Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output

Dizionario. Marina Zanella Algoritmi e strutture dati Tabelle hash 1

Algoritmi di ricerca locale

Un po di teoria dei numeri

Algoritmi e Strutture Dati

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI

Tempo e spazio di calcolo

Metodi Computazionali. Generazione di numeri pseudocasuali

Esercizi di Algoritmi e Strutture Dati

Corso di Informatica

Note su quicksort per ASD (DRAFT)

Potenze, gruppi ciclici e spazi quoziente

Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base

Algoritmi e Strutture Dati

Introduzione alla programmazione

La crittografia moderna e la sua applicazione

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

Funzioni hash. Funzioni Hash. Uso delle funzioni hash. Firme digitali e Funzioni hash. Funzione Hash. Firme digitali. Integrita dei dati

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

B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in:

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Esponenziali e logaritmi

Esercizi Capitolo 14 - Algoritmi Greedy

Algoritmi e strutture dati

La Macchina RAM Shepherdson e Sturgis (1963)

Valutazione di progressioni geometriche

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Algoritmi e Strutture Dati

Albero di Riscorsione

Crittografia con Python

Prof. Emanuele ANDRISANI

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

Formalismi per la descrizione di algoritmi

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

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

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento: Selection e Insertion Sort

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Esercizi di Algoritmi e Strutture Dati

Algoritmi di Ricerca. Esempi di programmi Java

Cifrari a blocchi: RC2 RC2. Altri cifrari a blocchi RC2. Input/output round. RC2: operazioni. Corso di Sicurezza su reti Lezione del 22 marzo 2004

Markov Chains and Markov Chain Monte Carlo (MCMC)

Transcript:

Accordo su chiavi Accordo su una chiave Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci K K 1 Accordo su chiavi Vedremo due schemi: di Z p Diffie-Hellman Basato sull intrattabilità del problema del logaritmo discreto Non basato su alcuna assunzione computazionale 2 3 di Z p scelgo y Z p scelgo y Z p 4 5 1

g y mod p g y mod p K = g xy mod p = (g y ) x mod p K = g xy mod p = (g x ) y mod p 6 7 scelgo x=3 Diffie-Hellman: piccolo esempio primo 11, generatore 2 8 = 2 3 mod 11 scelgo y=4 scelgo x=3578 Diffie-Hellman: esempio primo 25307, generatore 2 6113 = 2 3578 mod 25307 scelgo y=19956 5 = 2 4 mod 11 7984 = 2 19956 mod 25307 K=4=(2 4 ) 3 mod 11 K=4=(2 3 ) 4 mod 11 K=3694=7984 3578 K=3694=6113 19956 8 9 Scelta dei parametri Come scegliere p e g? 10 Scegli_Generatore_Naive (p) 1. Scegli a caso g in Z p 2. If {g i 1 i p-1} = Z {g i 1 i p-1} = Z p? p then trovato else goto 1. L unico algoritmo efficiente necessita dei fattori primi di p-1p 11 2

11 primo, p-1 = 10 = 2 5 Esempio 2 è un generatore di Z 11 perché 2 (11-1)/2 = 2 5 = 10 1 mod 11 2 (11-1)/5 = 2 2 = 4 1 mod 11 12 13 11 primo, p-1 = 10 = 2 5 Esempio 3 non è un generatore di Z 11 perché 3 (11-1)/2 = 3 5 = 243 = 1 mod 11 3 (11-1)/5 = 3 2 = 9 1 mod 11 Scegli_generatore ( p, (p 1,e 1,p 2,e 2,,p k, ) ) 1. g elemento scelto a caso in Z p 2. if ( and and g (p-1)/pk 1 mod p) then esci trovato! else go to 1. 14 15 Probabilità successo singola iterazione Probabilità successo singola iterazione Numero di generatori modulo un primo p è per ogni intero n 5, φ(φ(p)) = φ(p-1) φ(n) > n/(6lnln n) > (p-1) / (6 lnln(p-1)) Numero di generatori modulo un primo p è φ(φ(p)) = φ(p-1) > (p-1) / (6 lnln(p-1)) per ogni intero n 5, φ(n) > n/(6lnln n) Probabilità che un elemento a caso in Z p sia generatore φ(φ(p)) p-1 1 = φ(p) > φ(p) 6lnln(p -1) = 6 lnln(p -1) 16 17 3

Analisi di Scegli_generatore Generazione chiavi Diffie-Hellman Numero medio di iterazioni < 6 lnln(p -1) Scegli a caso 2 numeri primi p 1 p 2 p 1 + 2p 1 p 2 512 bit 6 lnln(2 512 ) 35,23 1024 bit 6 lnln(2 1024 ) 39,38 2048 bit 6 lnln(2 2048 ) 43,54 Se p non è primo, go to 1. g Scegli_generatore(p,(2,1,p 1,1,p 2,1)) 18 19 Problema di Diffie-Hellman Schema di Merkle Input:,, g y mod p Calcolare: g xy mod p Il miglior algoritmo conosciuto calcola prima il logaritmo discreto x log g,p () ma non si sa se sono equivalenti! Non basato su assunzioni computazionali genera n chiavi distinte e nasconde ogni chiave in un puzzle Il puzzle contiene informazioni per il calcolo della chiave La soluzione di un puzzle richiede un tempo ragionevole La soluzione di tutti i puzzle richiede un tempo troppo elevato 20 21 Puzzle la cui soluzione richiede t operazioni Scegli x 1,, x n, ID 1,, ID n Puzzle i Puzzle(x i,id i,s) Risolvi Puzzle j Ottieni (x( j, ID j ) Esempio: Puzzle (x, ID, S) Scegli una chiav Computa y CBC-DES k (x, ID, S) return (y, primi 20 bit di k) Puzzle 1,, Puzzle n ID j x è la soluzione del puzzle -Richiede 2 35 operazioni in media ID è l identificativo del puzzle -Unico per ciascun puzzle S è un valore noto -Serve per garantire l unicità della soluzione del puzzle -Esempio: 32 bit nulli 22 x j x j 23 4

Se n = θ(t) Costruzione di n puzzle Costruzione di n puzzle Risoluzione di un puzzle tempo θ(t) Risoluzione di un puzzle Risoluzione di n/2 puzzle in media tempo θ(t n) Risoluzione di n/2 puzzle in media tempo θ(n 2 ) 24 25 5