CryptoDB
Matthias Meijers
ORCID: 0000-0002-5351-991X
Publications and invited talks
Year
Venue
Title
2025
ASIACRYPT
How Hard Can It Be to Formalize a Proof? Lessons from Formalizing CryptoBox Three Times in EasyCrypt
Abstract
Provable security is a cornerstone of modern cryptography,
aiming to provide formal and precise security guarantees. However, for
various reasons, security proofs are not always properly verified, possibly
leading to unwarranted security claims and, in the worst case, deployment
of insecure constructions. To further enhance trust and assurance,
machine-checked cryptography makes these proofs more formal and rigorous.
Unfortunately, the complexity of writing machine-verifiable proofs
remains prohibitively high in many interesting use-cases. In this paper,
we investigate the sources of this complexity, specifically examining how
the style of security definitions influences the difficulty of constructing
machine-verifiable proofs in the context of game-playing security.
Concretely, we present a new security proof for the generic construction of
a PKAE scheme from a NIKE and AE scheme, written in a code-based,
game-playing style `a la Bellare and Rogaway, and compare it to the
same proof written in the style of state-separating proofs, a methodology
for developing modular game-playing security proofs. Additionally, we
explore a third “blended” style designed to avoid anticipated difficulties
with the formalization. Our findings suggest that the choice of definition
style impacts proof complexity—including, we argue, in detailed pen-
and-paper proofs—with trade-offs depending on the proof writer’s goals.
2024
ASIACRYPT
A Tight Security Proof for SPHINCS+, Formally Verified
Abstract
SPHINCS+ is a post-quantum signature scheme that, at the
time of writing, is being standardized as SLH-DSA. It is the most conser-
vative option for post-quantum signatures, but the original tight proofs
of security were flawed — as reported by Kudinov, Kiktenko and Fe-
dorov in 2020. In this work, we formally prove a tight security bound
for SPHINCS+ using the EasyCrypt proof assistant, establishing greater
confidence in the general security of the scheme and that of the param-
eter sets considered for standardization. To this end, we reconstruct the
tight security proof presented by Hülsing and Kudinov (in 2022) in a
modular way. A small but important part of this effort involves a com-
plex argument relating four different games at once, of a form not yet
formalized in EasyCrypt (to the best of our knowledge). We describe
our approach to overcoming this major challenge, and develop a general
formal verification technique aimed at this type of reasoning.
Enhancing the set of reusable EasyCrypt artifacts previously produced
in the formal verification of stateful hash-based cryptographic construc-
tions, we (1) improve and extend the existing libraries for hash func-
tions and (2) develop new libraries for fundamental concepts related to
hash-based cryptographic constructions, including Merkle trees. These
enhancements, along with the formal verification technique we develop,
further ease future formal verification endeavors in EasyCrypt, especially
those concerning hash-based cryptographic constructions.
2023
CRYPTO
Machine-Checked Security for XMSS as in RFC 8391 and SPHINCS+
Abstract
This work presents a novel machine-checked tight security proof for XMSS --- a stateful hash-based signature scheme that is (1) standardized in RFC 8391 and NIST SP 800-208, and (2) employed as a primary building block of SPHINCS+, one of the signature schemes recently selected for standardization as a result of NIST's post-quantum competition.
In 2020, Kudinov, Kiktenko, and Fedoro pointed out a flaw affecting the tight security proofs of SPHINCS+ and XMSS. For the case of SPHINCS+, this flaw was fixed in a subsequent tight security proof by Hülsing and Kudinov. Unfortunately, employing the fix from this proof to construct an analogous tight security proof for XMSS would merely demonstrate security with respect to an insufficient notion.
At the cost of modeling the message-hashing function as a random oracle, we complete the tight security proof for XMSS and formally verify it using the EasyCrypt proof assistant. (Note that this merely extends the use of the random oracle model, as this model is already required in other parts of the security analysis to justify the currently standardized parameter values). As part of this endeavor, we formally verify the crucial step common to the security proofs of SPHINCS+ and XMSS that was found to be flawed before, thereby confirming that the core of the aforementioned security proof by Hülsing and Kudinov is correct.
As this is the first work to formally verify proofs for hash-based signature schemes in EasyCrypt, we develop several novel libraries for the fundamental cryptographic concepts underlying such schemes --- e.g., hash functions and digital signature schemes --- establishing a common starting point for future formal verification efforts. These libraries will be particularly helpful in formally verifying proofs of other hash-based signature schemes such as LMS or SPHINCS+.
Coauthors
- Manuel Barbosa (2)
- François Dupressoir (3)
- Benjamin Grégoire (1)
- Andreas Hülsing (3)
- Cameron Low (1)
- Matthias Meijers (3)
- Charlotte Mylog (1)
- Sabine Oechsner (1)
- Pierre-Yves Strub (2)