Cryptographic Hash Functions by Paolo Bernardi. Cosa sono? y = h(x) N → numero di possibili input M → numero di possibili output N >> M (di solito almeno.

Slides:



Advertisements
Presentazioni simili
Elementi di Crittografia MAC e FUNZIONI HASH
Advertisements

Lez. 13a1 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Funzioni Hash.
Autenticazione dei messaggi e funzioni hash
Capitolo 8 La sicurezza nelle reti
Crittografia MITTENTE DESTINATARIO messaggio messaggio chiave-1
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
Crittografia e crittoanalisi Crittografia: tecnica che consente di rendere visibili o utilizzabili le informazioni solo alle persone a cui sono destinate.
VETTORI: DEFINIZIONI Se ad una grandezza fisica G si associa una direzione ed un verso si parla di vettori: ✔ Le grandezze fisiche possono essere di due.
Introduzione alla Sicurezza Informatica ISIS ”C. Facchinetti” - Castellanza ( VA) 7 Maggio 2012.
Sicurezza e crittografia asimmetrica ● Info su redsh.wordpress.com/corso-linux ●
D. Masini – La privacy e le comunicazioni digitali Firenze, 9 Mag 2008 – e-privacy La privacy e le comunicazioni digitali Daniele Masini
Bitcoin “What is a Bitcoin?”. What is a Bitcoin? Bitcoin The 4th most common research on Google in 2014.
Sei bravo a………scuola calcio Come nella passata edizione le squadre si affronteranno in due momenti, che per questa stagione sportiva si sintetizzano.
VO-Neural Project e GRID Giovanni d’Angelo Dipartimento di Scienze Fisiche Università degli Studi di Napoli Federico II Martina Franca 12 – 23 Novembre.
Product Quantization for Nearest Neighbor search.
Agenda Chi è Farobit Fondamenti di sicurezza informatica: vulnerabilità, protezione e integrità fisica hardware, protezione e integrità logico-funzionale.
Sicurezza e Crittografia
Archivi in Digitale: Firma Digitale
Linee guida corsi di formazione ECM
Licenze Creative Commons
Sei bravo a………scuola calcio
(Codice identificativo progetto: PON03PE_00159_1)
App-to-Cloud Security
Dematerializzazione, Sicurezza ed Amministrazione Trasparente
IN UFFICIO RICORDATI CHE :
I Circuiti Sequenziali ed i Flip/Flop
Fai questo esercizio matematico che ti sorprenderá.
Creato da Samuele Baldi, Vania Cheli, Irene Cocchi e Roberto Maranghi
Arduino Clap-Light.
- Dizionario del Diavolo (quasi)
Dinamica vs. cinematica
Sicurezza informatica
JetWalk: Agenda e review committee
DISABILITÀ INTELLETTIVE
Definizione di patto sociale
B-alberi e alberi autoaggiustanti
Sicurezza informatica
C:\zydeckt.exe zydeckt will generate a signing key. Do you also require an encryption key? (y/n) y Pick your DH key size: 1) 1024 bits- High commercial.
Complessità ammortizzata degli algoritmi Union Find
File hash.
Giordano Scuderi Unico SRL Catania
Giordano Scuderi Unico SRL - Messina,
10.00.
Organizzazione fisica
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Intervista al genio della porta accanto.
Magnetostatica 2 Legge di Biot-Savart Prima formula di Laplace
Programmazione e Laboratorio di Programmazione
La teoria della relatività
le fonti di informazione scientifica
Programmare.
RELATORE: CANDIDATO: SONIA BERGAMASCHI FRANCESCO RIZZO
Allievi: ____________________
Scan matching nel dominio di Hough
Il progetto di ricerca Obiettivi ed organizzazione delle attività
L’argomento di questa sera è:
DRV/rtv oppure ATV/rtv
Antonietti EEE Beretta
RILEVAZIONE NAZIONALE Le rilevazioni dell’a.s :
Laboratorio II, modulo “Skype”.
Excel 3 - le funzioni.
Programmazione e Laboratorio di Programmazione
Unità 5 Segnali analogici.
Giorgio Giacinto (Università di Cagliari) Fabio Cocurullo (Loanardo)
Gli Indici di Produttività di Divisia
Introduzione alla Blockchain
ALGORITMO E’ una successione finita di passi che consente di risolvere tutti i problemi di una classe e di determinare il risultato. Caratteristiche: Finito.
Wikipedia Wikipedia è un'enciclopedia online, collaborativa e libera. Grazie al contributo di volontari da tutto il mondo, Wikipedia ad ora è disponibile.
Programmazione e Laboratorio di Programmazione
Corso di programmazione, Simulazione, ROOT, code, ecc. ecc.
Transcript della presentazione:

Cryptographic Hash Functions by Paolo Bernardi

Cosa sono? y = h(x) N → numero di possibili input M → numero di possibili output N >> M (di solito almeno N > 2M) Input e output sono di lunghezza fissa

Perché “crittografiche”? ➔ Le funzioni hash sono usate anche per implementare strutture dati associative (HashMap, dizionari, etc...) ➔ Quando sono usate per scopi crittografici devono soddisfare requisiti più stringenti

Perché perderci tempo? “Much more than encryption algorithms, one-way hash functions are the workhorses of modern cryptography”

Perché perderci tempo? ➔ Tante applicazioni: ● Integrità dei dati ● Firma digitale ● Gestione delle password ● CSPRNG ●... ➔ Poco studiate rispetto alle altre funzioni crittografiche

Perché “crittografiche”? ● Difficile trovare una collisione ● h(x) = h(x'), x ≠ x' ● Difficile trovare la preimmagine ● h(x) → x

Perché “crittografiche”? ● Difficile, ma non impossibile, trovare una collisione: principio dei cassetti ● Difficile, ma non impossibile trovare la preimmagine: forza bruta

Il modello Random Oracle ● Hash crittografico ideale (ma non fattibile) ● Solo l'oracolo conosce la funzione hash ● Non si può ricostruire dai risultati

Random Oracle: collisioni ● Per trovare una collisione devo fare all'oracolo un numero di domande proporzionale alla radice quadrata di M ● Paradosso del compleanno: con 23 persone c'è il 51% di probabilità di averne due con lo stesso compleanno

Random Oracle: preimmagine ● Per trovare la preimmagine di un hash dato devo fare all'oracolo un numero di domande proporzionale ad M ● Resistenza alle collisioni implica resistenza alla preimmagine

Back to the real world ● N >> M, ma non è infinito! ● Data una funzione hash con dominio finito, come si può estenderla ad un dominio infinito?

Funzioni hash iterate Sia compress una funzione hash compress : {0, 1} m + t → {0, 1} m compress viene estesa in modo da accettare input di qualsiasi lunghezza.

Funzioni hash iterate Pre-processing: padding L'input viene allungato in modo da essere divisibile per t RICORDA: compress : {0, 1} m + t → {0, 1} m

Funzioni hash iterate Processing: the dirty work 1. l'input x è suddiviso in blocchi lunghi t 2. Vettore di inizializzazione (IV) lungo m RICORDA: compress : {0, 1} m + t → {0, 1} m

Funzioni hash iterate Processing: the dirty work 1. l'input x è suddiviso in blocchi lunghi t 2. IV è lungo m 3.z 0 = IV 4.z 1 = compress( z 0 | x 1 ) 5.(…) 6.z n = compress( z n - 1 | x n ) z 0 = IV z 1 = compress( z 0 | x 1 ) z 2 = compress( z 1 | x 2 ) (...)

Merkle-Damgård Funzione hash iterata che gode della seguente proprietà: compress sicura implica hash sicuro

Lo stato dell'arte: MD5 ➔ Hash di 128 bit ➔ Correzione di MD4, del quale si può trovare una collisione con 2 8 valutazioni (secondo RO dovrebbero essere !!!) ➔ Ron Rivest

Attacchi: MD5 ➔ Prima è stata violata la compress ➔ Attualmente, collisioni in passi (secondo RO dovrebbe essere ) ➔ Collisioni usate per creare certificati di CA fasulle riconosciuti come validi dai browser

Lo stato dell'arte: SHA-1 ➔ Hash di 160 bit ➔ Correzione di SHA-0, subito ritirata per una vulnerabilità teorica notata dopo la pubblicazione ➔ NSA

Attacchi: SHA-1 ➔ Esiste un metodo per trovare collisioni in passi (secondo RO dovrebbe essere ) ➔ Esiste un rimpiazzo: la famiglia SHA-2 (SHA-256, SHA )

Lo stato dell'arte: RIPEMD-160 ➔ Hash di 160 bit ➔ Correzione di RIPEMD, del quale è stata trovata una collisione ➔ Creato da un gruppo di ricercatori europei ➔ Risposta della comunità scientifica a SHA ➔ Non ha vulnerabilità note

Lo stato dell'arte ➔ La situazione è tutt'altro che rosea (RICORDA: resistenza alle collisioni implica resistenza alla preimmagine) ➔ Algoritmi basati su operatori a 32bit e inerentemente sequenziali

Al fuoco! “It's time to walk, but not run, to the fire exits. You don't see smoke, but the fire alarms have gone off.” Jon Callas, PGP CTO

Back to the future: SHA-3 ➔ Competizione organizzata dal NIST ➔ Riprende il modello usato per AES ➔ 2007 / 2012 (revisione di FIPS 180-2) ➔ Attualmente siamo al 2° round

Back to the future: SHA-3 ➔ Focus su funzioni più sicure ➔ Focus su hardware moderno (64bit, multicore) ➔ es. Skein (Schneier, Ferguson et al.), 512bit, basata su Threefish ➔ Molti partecipanti basati su AES

Back to the future: SHA-3 ➔ Ritiro “eccellente”: MD6 di Ron Rivest ➔ Problemi di velocità ➔ Impossibilità di fornire una prova formale di sicurezza

That's all, folks!