vuoi
o PayPal
tutte le volte che vuoi
Applicazioni Cifratura Asimmetrica
La cifratura asimmetrica viene utilizzata nelle firme digitali e nelle digital envelope (“buste digitali”).
Firma Digitale
Nella firma digitale la cifratura con chiave privata prova l’autenticità del documento, il destinatario tramite
la chiave pubblica del mittente può verificarne la provenienza e l’integrità.
Impronta Hash
Data l’inefficienza computazionale della cifratura asimmetrica (elevati costi per cifrare/decifrare con 2
chiavi il mex), la firma digitale si applica ad un’impronta del messaggio originale (message digest) tramite
una funzione di hash one-way. (la firma viene di solito accodata al messaggio ed è indipendente da questo)
Funzione di Hash
E’ una funzione H() che mappa (collega) una stringa di bit di lunghezza arbitraria ad una lunghezza fissa, tale
funzione è definita in modo che sia:
- one-way: dato y è computazionalmente impossibile trovare x tale che y = H(x);
- resistente alle collusioni: è computazionalmente impossibile trovare x e x’ tali che H(x)=H(x’)=y
(tradotto non vi devono essere due o più valori di input per la funzione che restituiscano lo stesso output)
Le funzioni di Hash più utilizzate sono:
- MD5 (IETF RFC 1321)
- SHA-1 SHA-2 (NIST FIPS 180-4)
Generazione della firma
Il messaggio viene fatto passare nella funzione di Hash H(), che imprime l’Impronta di Hash (al mex di
lunghezza arbitraria viene assegnata una firma per riconoscerlo, in seguito il messaggio viene cifrato con
chiave privata e la firma digitale viene allegata al messaggio, il tutto viene poi inviato.
Verifica della firma
Il destinatario farà passare il messaggio attraverso la funzione di Hash, verrà quindi rifatta l’impronta di
hash (che restituirà la medesima firma se il messaggio non è stato modificato), inoltre decodificherà la
firma allegata al messaggio con la chiave pubblica del mittente, se la firma decodificata è uguale a quella
ottenuta dall’impronta di hash allora il messaggio non è stato manipolato/modificato.
Digital Envelope
Utilizza la cifratura simmetrica combinata con la cifratura asimmetrica per cifrare i messaggi e gestirne la
chiave segreta:
1. Il mittente genera casualmente una chiave segreta k (session key)
E (M)
2. Cifra il messaggio M con un algoritmo simmetrico e chiave k, C = k
E (k)
3. Cifra la chiave segreta k con la chiave pubblica del destinatario KU: (questa cifratura è detta
KU
digital envelope) E (k)),
4. Invia il messagio cifrato C e la digital envelope al destinatario (C, in pratica invia il messaggio
KU
cifrato con la propria chiave segreta e la chiave segreta stessa, cifrandola però con la chiave pubblica del