Elgamal Corso di Sicurezza – A.A. 2006/07 Angeli Fabio29/05/2007.

Slides:



Advertisements
Presentazioni simili
Segretezza e crittografia simmetrica
Advertisements

Elementi di Crittografia MAC e FUNZIONI HASH
ERREsoft1 Basi matematiche del sistema RSA Pierluigi Ridolfi Università di Roma La Sapienza marzo 2000.
Torniamo al primo problema. Come fare acquisti sicuri via Internet? Come trasmettere informazioni in modo riservato?
La sicurezza dei sistemi informatici
Realizzazione in PARI/GP
Modulo 7 – Firma elettronica
Microsoft Visual Basic MVP
Public Key Infrastructure
Seminario per il corso di Sistemi Operativi mod
La sicurezza nelle Griglie
Sicurezza II Prof. Dario Catalano
Sicurezza II Prof. Dario Catalano Security Handshake Pitfalls.
Lez. 13a1 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Funzioni Hash.
Introduzione alle curve ellittiche
Autenticazione dei messaggi e funzioni hash
Progetto Mini di Sistemi Distribuiti – AA 2007/08 Secure Group Communication with GDH.1 Alessandro Licata Caruso Matr:
I cifrari a chiave pubblica: Introduzione alle curve ellittiche
RSA Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena.
Per crittografia si intende la protezione
Sistemi di elaborazione delle informazioni
CRITTOGRAFIA La crittografia, ovvero la scienza dei messaggi segreti sicuri, nasce come raccolta di tecniche e sistemi per nascondere messaggi tra regnanti,
Politecnico di Milano Algoritmi e Architetture per la Protezione dellInformazione Multichannel Adaptive Information Systems Paolo Maistri Dipartimento.
LE FUNZIONI ELEMENTARI
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
Secure Shell Giulia Carboni
SSL (Secure Socket Layer)
Introduzione alla Sicurezza Web
Prof. Zambetti -Majorana © 2008
PGP (Pretty Good Privacy) & gnuPG (GNU Privacy Guard)
1 Applicazioni contabili
CORSO DI CRITTOGRAFIA Terzo incontro PROGETTO LAUREE SCIENTIFICHE
LA CRITTOGRAFIA QUANTISTICA
Metodo della moltiplicazione
CORSO DI CRITTOGRAFIA Quinto incontro PROGETTO LAUREE SCIENTIFICHE
Aritmetica modulare Zn.
INFORMATICA MATTEO CRISTANI. INDICE CICLO DELLE LEZIONI LEZ. 1 INTRODUZIONE AL CORSO LEZ. 2 I CALCOLATORI ELETTRONICI LEZ. 3 ELEMENTI DI TEORIA DELL INFORMAZIONE.
CRITTOGRAFIA E FIRMA DIGITALE
Il processo per generare una Firma Digitale
Cenni di Crittografia Il procedimento di crittografia consiste nel rendere illeggibile un testo in chiaro mediante l’uso di un determinato algoritmo e.
ESTENSIONI SEMPLICI e TEOREMA DELL’ELEMENTO PRIMITIVO
Capitolo 8 La sicurezza nelle reti
RSA e questioni relative
Crittografia MITTENTE DESTINATARIO messaggio messaggio chiave-1
Analisi e sperimentazione di una Certification Authority
I Numeri primi Eratostene e la crittografia.
La sicurezza dei sistemi informatici. Il sistema deve soddisfare i seguenti requisiti di sicurezza (CIANA)  Confidenzialità (Riservatezza)  Integrità.
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
UNIVERSITÀ DEGLI STUDI DI PAVIA Anno accademico 2009/2010 Sicurezza e frodi informatiche in Internet: la Firma Digitale come garanzia di autenticità e.
Sicurezza informatica
PKI e loro implementazione Corso di Sisitemi Informativi Teledidattico A.A. 2006/07
27 marzo 2008 Dott. Ernesto Batteta.  Le minacce nello scambio dei documenti  Crittografia  Firma digitale.
Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica SECURE PROGRAMMING Prof. Stefano Bistarelli SEMINARIO “Authentication.
DES e RSA a confronto: crittografia al servizio della sicurezza.
1 Certificati a chiave pubblica strutture dati che legano una chiave pubblica ad alcuni attributi di una persona sono firmati elettronicamente dall’ente.
DES e RSA a confronto: crittografia al servizio della sicurezza Università degli studi di Camerino Marconi Marika.
La codifica dei numeri.
Informatica Lezione 10 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
La firma digitale. Che cosa é la firma digitale? La firma digitale è una informazione aggiunta ad un documento informatico al fine di garantirne integrità.
Giuseppe Bianchi Università di Roma Tor Vergata March June 2014
FUNZIONE: DEFINIZIONE Una FUNZIONE è una LEGGE che ad ogni elemento di un dato insieme A, detto DOMINIO, associa uno ed un solo elemento di un insieme.
Posta Elettronica Certificata Rachid Ghmid Corso di Sicurezza dei Sistemi Informatici A.A. 2009/10
Crittografia. Introduzione  La rete può essere utilizzata per diversi scopi: informazione, scambio dati, scambio messaggi, trasferimento denaro.  Nel.
POLITECNICO DI BARI I FACOLTA’ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA ELETTRONICA (N.O.)‏ Indirizzo S.E.M.A. (Sistemi Elettronici per.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
Un sistema di sicurezza dei dati.  La crittografia, il cui termine indica "nascosto", è la branca della crittologia che tratta delle "scritture nascoste",
Crittografia e crittoanalisi Crittografia: tecnica che consente di rendere visibili o utilizzabili le informazioni solo alle persone a cui sono destinate.
Sicurezza dei Sistemi Informatici L.S. in Ingegneria Informatica Docente: Prof. Giuseppe Mastronardi CRITTOGRAFIA E CRITTOANALISI ATTACCHI AI SISTEMI DI.
Corso di Sicurezza – A.A. 2006/07
Transcript della presentazione:

Elgamal Corso di Sicurezza – A.A. 2006/07 Angeli Fabio29/05/2007

Caratteristiche Descritto da Taher Elgamal nel Sistema di cifratura a chiave pubblica. Asimettrico (utilizza chiavi diverse per codifica e decodifica). Sicurezza basata sul problema di Diffie- Hellman il quale a sua volta basa la propria sicurezza sulla complessità computazionale del calcolo del logaritmo discreto.

Aritmetica Finita (1) Si definisce aritmetica finita un'aritmetica che opera su un insieme limitato di numeri. È detta anche aritmetica modulare o circolare, in quanto una volta raggiunto l'ultimo numero si ricomincia dal primo. In generale un'aritmetica finita modulo m si basa sull'insieme {0,1,2...m-1}; questi numeri possono anche vedersi come i possibili resti di una divisione per m. Esempio: in modulo 24, 11*3 = 9 perchè 11*3 = 33 e 33 mod 24 = 9.

Aritmetica Finita (2) Z l'insieme dei numeri interi. Z p l'insieme dei numeri interi tra 0 e p-1 compresi, ovvero l'insieme {0, …, p-1}. Z* p il sottoinsieme di Z p comprendente solo i numeri primi rispetto a p. Se p è un numero primo allora Z* p ={0, …, p-1}. g si dice elemento generatore di un campo se partendo da g si possono ottenere tutti i suoi elementi.Esempio: Z 7 generabile a partire da 3 oppure da =3 3 2 =2 3 3 =6 3 4 =4 3 5 =5 3 6 =1

Logaritmo Discreto (1) In aritmetica finita, la potenza di un numero si definisce come: a b = x mod n e come per l'aritmetica ordinaria possiamo stabilire un'operazione inversa rispetto all'esponente, cioè il logaritmo discreto: b = log a x mod n

Logaritmo Discreto (2) Se il calcolo della potenza è semplice, il calcolo del logaritmo è computazionalmente molto complesso, può avere più soluzioni o anche nessuna. Ad esempio in un'aritmetica di ordine 7 si avrebbe: 2 0 = = = = = = = 1 perciò se prendiamo il log 2 4 è 2 ma anche 5, non esistono però log 2 3, log 2 5, log 2 6. Anche se non è stato ancora dimostrato, si pensa che la difficoltà computazionale del logaritmo discreto è dello stesso ordine di quella della fattorizzazione.

Diffie-Hellman (1) Descritto da Whitfield Diffie e Martin Hellman nel Il protocollo di Diffie-Hellman permette a due interlocutori che non hanno mai avuto nessun precedente contatto di accordarsi su una chiave segreta utilizzando un canale pubblico.

Diffie-Hellman (2) 1.Bob e Alice si accordano pubblicamente su un numero primo p e su un numero g che sia elemento generatore di Z* p. 2.Alice sceglie un numero a tale che 0 < a < p-1, calcola A = g a mod p e lo manda a Bob. 3.Bob sceglie un numero b tale che 0 < b < p-1, calcola B = g b mod p e lo manda ad Alice. 4.La chiave segreta è K = g ab mod p: Alice può calcolarla come K = B a mod p, mentre Bob può calcolarla come K = A b mod p.

Diffie-Hellman (3)

Diffie-Hellman (4) La sicurezza del protocollo si basa sul fatto che un estraneo non possa calcolare K partendo da ciò che viaggia in chiaro sulla rete: g, p, A, B. Essendo: A = g a mod p e B = g b mod p Ricavare a o b equivale a saper risolvere il problema del logaritmo discreto infatti: a = log g A mod p e b = log g B mod p Così com'è, ovvero senza alcuna forma di autenticazione come ad esempio dei certificati, è però soggetto ad un attacco di tipo man-in-the-middle.

Elgamal (1) Ricevente Sceglie: Un grosso numero primo p. g generatore di Z* p. b numero casuale. Chiave pubblica del ricevente: (B, p, g) dove B = g b mod p. Chiave privata del ricevente: (b).

Elgamal (2) Mittente Sceglie k numero casuale tale che 0 < k < p. Costruisce la chiave K = B k mod p. Crittogramma C = (C1,C2) dove: C1 = g k mod p. C2 = K * m mod p (m è il messaggio da cifrare).

Elgamal (3) Ricevente Ricava K da C1: K = B k mod p = g kb mod p = C1 b mod p. Recupera m da C2: m = K -1 * C2 mod p. Per fare tutto in un’unica espressione: m = C1 -b *C2(ricordandosi che C1 -b = C1 p-1-b )

Elgamal (4) p è raccomandato essere almeno di 768 bit, e per sicurezza a lungo termine l’uso di 1024 bit. Il generatore g del gruppo moltiplicativo Z* p appartiene al campo di Galois GF(p), cioè il campo degli interi modulo p, con p numero primo, ma può appartenere ad altri gruppi definiti su altri campi, come i polinomi GF(2m), come il campo dei punti appartenenti a curve ellittiche oppure alle funzioni Lucas (polinomi speciali nel campo intero).

Elgamal (4) Esempio con numeri piccoli: Generazione delle chiavi: il ricevente sceglie il numero primo p = 2357, il generatore di Z* 2357 g = 2, la chiave privata b = 1751 e calcola: B = g b mod p = mod 2357 = Criptazione: per criptare il messaggio m = 2035, il mittente sceglie il numero casuale k = 1520 e calcola: C1 = g k mod p = mod 2357 = C2 = m * K mod p = 2035 * mod 2357 = 697. Decriptazione: Il ricevente calcola: C1 -b = C1 p−1−b = mod 2357 = 872. m = C1 -b * C2 = 872 * 697 mod 2357 = 2035.

Elgamal (5) Pro: Utilizzando un numero k casuale ogni volta anche crittografando lo stesso messaggio più volte si ottengono crittogrammi diversi. Contro: Lento (rispetto ad RSA) 2 esponenziali per criptare ed uno per decriptare. Crittogramma di lunghezza doppia. Elgamal è malleabile: ad esempio dato un crittogramma (C1,C2) corrispondente al messaggio m, è possibile costruire facilmente un crittogramma (C1, 2 * C2) corrispondente al messaggio 2 * m. (Soluzione utilizzare Cramer-Shoup)

Cramer-Shoup Descritto da Ronald Cramer e Victor Shoup nel Algoritmo a chiave pubblica asimettrico. E’ un estensione di Elgamal. Al contrario di Elgamal non è malleabile grazie all’utilizzo di una funzione hash resistente alle collisioni e ad altri calcoli aggiunti che portano la lungezza del crittogramma ad essere il doppio più lunga rispetto ad Elgamal.

Elgamal (6) Se m è troppo grande deve essere spezzato. Utilizzo principale: scambio chiave per un algoritmo a chiave simmetrica (tecnica ibrida). Esempi di utilizzo: GNU Privacy Guard e nelle più recenti versioni di PGP. Elgamal ha anche descritto un algoritmo per la firma digitale, ma è inutilizzato perché gli si preferisce una sua variante sviluppata dalla National Security Agency il DSA (Digital Signature Algorithm).

Riferimenti T. ElGamal, “A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms” W. Diffie e M. Hellman, “New directions in cryptography” R. Cramer e V. Shoup, “A practical public key cryptosystem provably secure against adaptive chosen ciphertext attack” A. Menezes, P. van Oorschot e S. Vanstone, “Handbook of Applied Cryptography”, Discrete logarithm calculator,