Dilithium is een roosterschema voor digitale ondertekening waarmee gegevens worden beschermd tegen de dreiging van quantumcomputing. Het is gebaseerd op de CRYSTALS-familie van post-quantumcryptografische algoritmen, waarbij CRYSTALS staat voor Cryptographic Suite for Algebraic Lattices. Het is met name geschikt voor de beveiliging tegen zogeheten 'chosen-message' aanvallen.
Omdat Dilithium is gebaseerd op de moeilijkheid van roosterproblemen in modules, is het als PQC-schema veel sneller dan een hash-schema. Bovendien is het eenvoudiger te implementeren omdat er geen Gaussian sampling voor nodig is.
Dilithium gebruikt Fiat-Shamir with Aborts van Lyubashevsky voor het roosterschema. Hierbij worden uitvoeringen herhaald totdat er wordt geverifieerd dat een lus-iteratie niet wordt afgebroken. Het resultaat van dit protocol is een veel kleinere openbare sleutel, wat de beveiliging en efficiëntie verbetert en het energieverbruik verlaagt.
In tegenstelling tot andere schema's voor PQC-ondertekening maakt de nieuwste versie van Dilithium gebruik van AES-256 in plaats van SHAKE. Dit levert een grotere matrix en maakvector op. AES-256 wordt ook gebruikt voor het samplen van geheime polynomen.
Varianten van Dilithium:
Dilithium2-AES
Dilithium3-AES
Dilithium5-AES
De uitvinders van Dilithium adviseren het gebruik van Dilithium3-AES omdat dat ten minste 128-bits beveiliging biedt tegen aanvallen door klassieke computers en quantumcomputers.
In 2016 deed het Amerikaanse National Institute of Standards and Technology een oproep voor het indienen van post-quantumcryptografische schema's. De eerste ronde sloot op 30 november 2017. Er werden enkele tientallen schema's ingediend en beoordeeld.
CRYSTALS-Dilithium was een daarvan en is een van de vier schema's die door NIST worden aanbevolen als acceptabele standaard voor post-quantumcryptografie en een van de slechts drie schema's die worden aanbevolen voor digitale ondertekening.