Efficient Two-Party ML-DSA Protocol in Active Security Model
Kuupäev
2025
Autorid
Ajakirja pealkiri
Ajakirja ISSN
Köite pealkiri
Kirjastaja
Tartu Ülikool
Abstrakt
ML-DSA is a NIST standard that defines a signature scheme: a set of algorithms for creating and verifying digital signatures. Digital signatures can be used, for example, to authenticate to websites online and to sign documents. ML-DSA signatures, unlike signatures that follow so-called classical formats, are quantum-resistant: it is believed that forging ML-DSA signatures is inviable even with a cryptographically relevant quantum computer (that is not yet known to exist). The security of a signing scheme relies on the secrecy of the used private key material. One way to increase the security of a signing scheme is to distribute the secret material across multiple devices, such that a sufficient number of them need to cooperate to create a signature. One scheme, that distributes the key across two devices, is implemented in SplitKey® technology, which is used in a popular signing solution Smart-ID®. Unfortunately, a two-party scheme that could create standards-compliant quantum-resistant signatures does not exist. This thesis presents a novel two-party signing scheme capable of creating ML-DSA-compliant signatures — Duolithium. This scheme is resistant against potential active attacks by either party, both during the key generation and signing processes. The thesis proposes some parts of Duolithium that were invented as a part of this thesis research and documents the remaining parts with reliance on prior research. Additionally, this thesis presents a complete, tested for functionality implementation of Duolithium in Python, together with the results of the benchmarks of network overhead and computational performance. The benchmark results suggest that Duolithium may be used to implement a new, quantum-resistant version of SplitKey that would be fully compatible with any signature verification component that supports ML-DSA.
ML-DSA on NISTi standard, mis defineerib teatud signatuuriskeemi, s.t. algoritmid digitaalsignatuuride loomiseks ja kontrollimiseks. Digitaalsignatuure saab kasutada näiteks veebilehtedel autentimiseks ja dokumentide allkirjastamiseks. ML-DSA signatuurid, erinevalt signatuuridest, mis järgivad nn klassikalisi formaate, on kvantarvutikindlad: usutakse, et ML-DSA signatuuri võltsimine on praktikas võimatu isegi krüptograafiliselt olulise kvantarvuti abil (mida teadolevalt veel ei eksisteeri). Signatuuriskeemi turvalisus sõltub kasutatud privaatvõtme materjali salajasusest. Üks viis signatuuriskeemi turvalisemaks muuta on privaatvõtme jagamine mitme seadme vahel, nii et allkirja loomiseks peavad piisavalt paljud neist koostööd tegema. Üks skeem, mis jagab võtme kahe seadme vahel, on rakendatud SplitKey® tehnoloogias, mis on kasutusel populaarses autentimis- ja allkirjastamislahenduses Smart-ID®. Kahjuks ei eksisteeri kahe osapoolega skeemi, mis suudaks luua mõnele standardile vastavaid kvantarvutikindlaid allkirju. Käesolev töö kirjeldab Duolithiumi — kahe osapoolega signeerimisskeemi, mis suudab luua ML-DSA standardile vastavaid signatuure. See skeem on vastupidav võimalikele aktiivsetele rünnetele kummaltki osapoolelt, nii võtme genereerimise kui ka signeerimise protsesside ajal. Meie töö pakub välja Duolithiumi teatud alamprotokollide konstruktsioonid ning dokumenteerib ülejäänud osa skeemist tuginedes eelnevatele teadusuuringutele. Samuti esitab meie töö Duolithiumi täieliku realisatsiooni Pythonis, ühes funktsionaalsuse testide ning võrguliikluse ja arvutusliku jõudluse mõõtmistega. Mõõtmistulemused viitavad sellele, et Duolithium võib olla sobiv sellise kvantarvutikindla SplitKey versiooni loomiseks, mis oleks täielikult ühilduv kõigi ML-DSA-d toetavate signatuuriverifitseerimiskomponentidega.
ML-DSA on NISTi standard, mis defineerib teatud signatuuriskeemi, s.t. algoritmid digitaalsignatuuride loomiseks ja kontrollimiseks. Digitaalsignatuure saab kasutada näiteks veebilehtedel autentimiseks ja dokumentide allkirjastamiseks. ML-DSA signatuurid, erinevalt signatuuridest, mis järgivad nn klassikalisi formaate, on kvantarvutikindlad: usutakse, et ML-DSA signatuuri võltsimine on praktikas võimatu isegi krüptograafiliselt olulise kvantarvuti abil (mida teadolevalt veel ei eksisteeri). Signatuuriskeemi turvalisus sõltub kasutatud privaatvõtme materjali salajasusest. Üks viis signatuuriskeemi turvalisemaks muuta on privaatvõtme jagamine mitme seadme vahel, nii et allkirja loomiseks peavad piisavalt paljud neist koostööd tegema. Üks skeem, mis jagab võtme kahe seadme vahel, on rakendatud SplitKey® tehnoloogias, mis on kasutusel populaarses autentimis- ja allkirjastamislahenduses Smart-ID®. Kahjuks ei eksisteeri kahe osapoolega skeemi, mis suudaks luua mõnele standardile vastavaid kvantarvutikindlaid allkirju. Käesolev töö kirjeldab Duolithiumi — kahe osapoolega signeerimisskeemi, mis suudab luua ML-DSA standardile vastavaid signatuure. See skeem on vastupidav võimalikele aktiivsetele rünnetele kummaltki osapoolelt, nii võtme genereerimise kui ka signeerimise protsesside ajal. Meie töö pakub välja Duolithiumi teatud alamprotokollide konstruktsioonid ning dokumenteerib ülejäänud osa skeemist tuginedes eelnevatele teadusuuringutele. Samuti esitab meie töö Duolithiumi täieliku realisatsiooni Pythonis, ühes funktsionaalsuse testide ning võrguliikluse ja arvutusliku jõudluse mõõtmistega. Mõõtmistulemused viitavad sellele, et Duolithium võib olla sobiv sellise kvantarvutikindla SplitKey versiooni loomiseks, mis oleks täielikult ühilduv kõigi ML-DSA-d toetavate signatuuriverifitseerimiskomponentidega.
Kirjeldus
Märksõnad
ML-DSA, active security, cryptography, MPC, post-quantum cryptography