Dilithium è uno schema di firma digitale basato su reticoli che protegge i dati dalle minacce quantistiche. Si basa sulla famiglia degli algoritmi di crittografia post-quantistica (PQC) CRYSTALS (Cryptographic Suite for Algebraic Lattices). È particolarmente adatto a proteggere dagli attacchi di tipo chosen-message.
Basando la propria sicurezza su problemi computazionali definiti sui reticoli, Dilithium è uno schema PQC molto più veloce di quelli basati su hash ed è facile da implementare, perché non richiede il campionamento gaussiano.
Come base, Dilithium opera su Fiat-Shamir di Lyubashevsky con Aborts per il suo schema reticolare. Questo paradigma ripete le esecuzioni fino a verificare un'iterazione del loop che non viene abortita. Il risultato dell'utilizzo di questo protocollo è una chiave pubblica molto più piccola, che assicura maggiore sicurezza ed efficienza con un minor consumo energetico.
A differenza di altri schemi di firma PQC, le versioni più recenti di Dilithium utilizzano AES-256 invece di SHAKE. Questo fornisce una matrice espansa e un vettore di creazione. AES-256 si usa anche per campionare polinomi segreti.
Varianti di Dilithium:
Dilithium2-AES
Dilithium3-AES
Dilithium5-AES
Gli inventori di Dilithium consigliano Dilithium 3-AES, perché raggiunge almeno 128 bit di sicurezza contro gli attacchi classici e quantistici.
Nel 2016, il National Institute of Standards and Technology degli Stati Uniti ha pubblicato un bando, richiedendo la presentazione di schemi crittografici post-quantistici. Le iscrizioni al Round 1 sono state chiuse il 30 novembre 2017. Sono state presentate e quindi valutate diverse decine di schemi.
CRYSTALS-Dilithium è stato uno dei quattro schemi raccomandati dal NIST come standard accettato per la PQC, e uno degli unici tre schemi raccomandati per la firma digitale.