Dual EC DRBG
# Dual EC DRBG

Dual_EC_DRBG, abbreviazione di Dual Elliptic Curve Deterministic Random Bit Generator, è un generatore di numeri pseudo-casuali che è stato pubblicato come crittograficamente sicuro dal National Institute of Standards and Technology statunitense. È basato sul problema del logaritmo discreto delle curve ellittiche ed è uno dei quattro generatori di numeri pseudocasuali ritenuti crittograficamente sicuri standardizzati dal NIST come NIST SP 800-90A. Nel 2007, poco tempo dopo la standardizzazione, i crittografi Bruce Schneier e Niels Ferguson hanno annunciato la possibile presenza di una backdoor inserita dalla National Security Agency statunitense nell'algoritmo. Nel 2013 il quotidiano New York Times ha pubblicato alcuni documenti dell'NSA diffusi dall'informatore Edward Snowden i quali confermano la presenza di una backdoor dell'NSA nello standard Dual_EC_DRBG.

## Sicurezza

Il motivo dichiarato dell'inclusione del Dual_EC_DRBG nella normativa NIST SP 800-90A è che l'algoritmo si basa su un problema complesso della teoria dei numeri: l'ipotesi decisionale di Diffie-Hellman delle curve ellittiche. Data l'importanza di avere generatori di numeri casuali sicuri in crittografia, in taluni casi può essere desiderabile sacrificare la velocità per una maggiore sicurezza.

Dopo la pubblicazione dell'algoritmo, molti ricercatori hanno sollevato alcune questioni di sicurezza relative alle proprietà del Dual_EC_DRBG:

* i valori intermedi che genera, una sequenza di punti di curve ellittiche, possono, sotto certe ragionevoli ipotesi come il problema decisionale di Diffie-Hellman, essere indistinguibili da punti di curve ellittiche uniformemente casuali;
* la sequenza dei bit generati dall'algoritmo possono, con certi parametri scelti, essere distinguibili da bit uniformemente casuali, rendendo il risultato inutilizzabile per un cifrario a flusso e, probabilmente, per un uso più generale;
* la sua sicurezza richiede che un certo problema sia difficile, come il problema di Diffie-Hellman, ma una delle configurazioni raccomandate del Dual_EC_DRBG consente la possibilità dell'esistenza di una chiave segreta conosciuta, il che faciliterebbe la soluzione del problema.
