Crittografia autenticata deterministica con dati associati (AEAD deterministici)

La primitiva crittografia autenticata deterministica con dati associati (AEAD deterministica) fornisce la crittografia con una proprietà deterministica: la crittografia degli stessi dati genera sempre la stessa crittografia. Questo tipo di crittografia è utile per il wrapping delle chiavi o per alcuni schemi di ricerca nei dati criptati (per ulteriori informazioni, consulta la sezione 1.3 della RFC 5297). A causa della sua proprietà deterministica, le implementazioni di questa primitiva possono comportare la perdita della segretezza perché un malintenzionato deve solo scoprire la crittografia di un determinato messaggio per identificare altre istanze del messaggio.

L'AEAD deterministico ha le seguenti proprietà:

  • Secrecy: non è nota alcuna informazione sul testo in chiaro, tranne la sua lunghezza e la sua uguaglianza con i testi in chiaro ripetuti.
  • Autenticità: è impossibile modificare il testo normale criptato sottostante il testo cifrato senza che ciò venga rilevato.
  • Simmetrica: la crittografia del testo in chiaro e la decrittografia del testo cifrato vengono eseguite con la stessa chiave.
  • Deterministico: a condizione che la chiave principale non venga modificata, la crittografia di un testo in chiaro due volte con gli stessi parametri genera la stessa crittografia.

Dati associati

Le AEAD deterministiche possono essere utilizzate anche per legare il testo cifrato a dati associati specifici. Ad esempio, se hai un database con i campi user-id e encrypted-medical-history: in questo scenario, user-id può essere utilizzato come dati associati durante la crittografia di encrypted-medical-history. In questo modo, un malintenzionato non può spostare la storia clinica da un utente all'altro.

Scegli un tipo di chiave

Consigliamo il tipo di chiave AES256_SIV per tutti i casi d'uso.

Garanzie di sicurezza

  • Efficacia dell'autenticazione di almeno 80 bit.
  • Il testo non cifrato e i dati associati possono avere lunghezze arbitrarie (nell'intervallo 0-232 byte).
  • Livello di sicurezza di 128 bit contro gli attacchi di recupero delle chiavi e anche negli attacchi multiutente con fino a 232 chiavi. Ciò significa che se un avversario ottiene 232 cifre crittografiche dello stesso messaggio criptato con 232 chiavi, deve eseguire 2128 calcoli per ottenere una singola chiave.
  • La possibilità di criptare in sicurezza 238 messaggi, a condizione che ciascuno abbia una dimensione inferiore a 1 MB.

Esempio di caso d'uso

Voglio criptare i dati in modo deterministico e legare il testo cifrato al relativo contesto.