Denis Firsov

dblp:138/7311 · DBLP profile ↗
← Back
13ranked-venue papers
10as first author
7since 2021 · last 2025
0000-0003-1267-7898ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 8 · 7 first-author · 3 since 2021Software engineering, systems software and programming languages · 7 · 5 first-author · 2 since 2021Security and privacy · 4 · 3 first-author · 4 since 2021
YearPublicationVenuePosition
2025 Towards a Formal Foundation for Blockchain ZK Rollups
abstract
Blockchains like Bitcoin and Ethereum have revolutionized digital transactions, yet scalability issues persist. Layer 2 solutions, such as validity proof Rollups (ZK-Rollups), aim to address these challenges by processing transactions off-chain and validating them on the main chain. However, concerns remain about security and censorship resistance, particularly regarding centralized control in Layer 2 and inadequate mechanisms for enforcing these properties through Layer 1 smart contracts. In their current form, L2s are susceptible to multisig attacks that can lead to total user funds loss. This work presents a formal analysis using the Alloy specification language to examine and design key Layer 2 functionalities, including forced transaction queues, safe blacklisting, and upgradeability. Through this analysis, we identify pitfalls in existing designs and introduce an enhanced model that has been model-checked to be correct. Finally, we propose a complete end-to-end methodology to analyze rollups' security and censorship resistance based on manually translating Alloy properties to property-based testing invariants, setting new standards.
Stefanos Chaliasos, Denis Firsov, Benjamin Livshits
CCS2
2025 Leakage-Free Probabilistic Jasmin Programs
abstract
This paper presents a semantic characterization of leakage-freeness through timing side-channels for Jasmin programs. Our characterization covers probabilistic Jasmin programs that are not constant-time. In addition, we provide a characterization in terms of probabilistic relational Hoare logic and prove the equivalence between both definitions. We also prove that our new characterizations are compositional and relate our new definitions to existing ones from prior work, which could only be applied to deterministic programs. To provide practical evidence, we use the Jasmin framework to develop a rejection sampling algorithm and provide an EasyCrypt proof that ensures the algorithm's implementation is leakage-free while not being constant-time.
José Bacelar Almeida, Denis Firsov, Tiago Oliveira 0004, Dominique Unruh
CPP2
2023 Zero-Knowledge in EasyCrypt
abstract
We formalize security properties of zero-knowledge protocols and their proofs in EasyCrypt. Specifically, we focus on sigma protocols (three-round protocols). Most importantly, we also cover properties whose security proofs require the use of rewinding; prior work has focused on properties that do not need this more advanced technique. On our way we give generic definitions of the main properties associated with sigma protocols, both in the computational and information-theoretical setting. We give generic derivations of soundness, (malicious-verifier) zero-knowledge, and proof of knowledge from simpler assumptions with proofs which rely on rewinding. Also, we address sequential composition of sigma protocols. Finally, we illustrate the applicability of our results on three zero-knowledge protocols: Fiat-Shamir (for quadratic residues), Schnorr (for discrete logarithms), and Blum (for Hamiltonian cycles, NP-complete).
Denis Firsov, Dominique Unruh
CSF1
2022 Reflection, rewinding, and coin-toss in EasyCrypt
abstract
In this paper we derive a suite of lemmas which allows users to internally reflect EasyCrypt programs into distributions which correspond to their denotational semantics (probabilistic reflection). Based on this we develop techniques for reasoning about rewinding of adversaries in EasyCrypt. (A widely used technique in cryptology.) We use our reflection and rewindability results to prove the security of a coin-toss protocol.
Denis Firsov, Dominique Unruh
CPP1
2022 Unsatisfiability of Comparison-Based Non-malleability for Commitments
Denis Firsov, Sven Laur, Ekaterina Zhuchko
ICTAC1
2021 Verified Multiple-Time Signature Scheme from One-Time Signatures and Timestamping
abstract
Buldas, Laanoja, and Truu designed a family of server-assisted digital signature schemes (BLT signatures) built around cryptographic timestamping and forward-resistant tag systems. The original constructions had either expensive key generation phase or stateful client-side computations. In this paper, we construct a stateless tag system with efficient key generation from one-time signature schemes. We prove that the proposed tag system is forward-resistant and when combined with cryptographic timestamping, it induces a secure (existentially unforgeable) multiple-time signature scheme. Our constructions are developed and verified using the EasyCrypt framework.
Denis Firsov, Henri Lakk, Ahto Truu
CSF1
2021 BLT+L: Efficient Signatures from Timestamping and Endorsements
Denis Firsov, Henri Lakk, Sven Laur, Ahto Truu
SECRYPT1
2020 Verified security of BLT signature scheme
abstract
The majority of real-world applications of digital signatures use timestamping to ensure non-repudiation in face of possible key revocations. This observation led Buldas, Laanoja, and Truu to a server-assisted digital signature scheme built around cryptographic timestamping.
Denis Firsov, Ahto Buldas, Ahto Truu, Risto Laanoja
CPP1
2018 Generic derivation of induction for impredicative encodings in Cedille
abstract
This paper presents generic derivations of induction for impredicatively typed lambda-encoded datatypes, in the Cedille type theory. Cedille is a pure type theory extending the Curry-style Calculus of Constructions with implicit products, primitive heterogeneous equality, and dependent intersections. All data erase to pure lambda terms, and there is no built-in notion of datatype. The derivations are generic in the sense that we derive induction for any datatype which arises as the least fixed point of a signature functor. We consider Church-style and Mendler-style lambda-encodings. Moreover, the isomorphism of these encodings is proved. Also, we formalize Lambek's lemma as a consequence of expected laws of cancellation, reflection, and fusion.
Denis Firsov, Aaron Stump
CPP1
2018 Efficient Mendler-Style Lambda-Encodings in Cedille
Denis Firsov, Richard Blair, Aaron Stump
ITP1
2018 Generic zero-cost reuse for dependent types
abstract
Dependently typed languages are well known for having a problem with code reuse. Traditional non-indexed algebraic datatypes (e.g. lists) appear alongside a plethora of indexed variations (e.g. vectors). Functions are often rewritten for both non-indexed and indexed versions of essentially the same datatype, which is a source of code duplication. We work in a Curry-style dependent type theory, where the same untyped term may be classified as both the non-indexed and indexed versions of a datatype. Many solutions have been proposed for the problem of dependently typed reuse, but we exploit Curry-style type theory in our solution to not only reuse data and programs, but do so at zero-cost (without a runtime penalty). Our work is an exercise in dependently typed generic programming, and internalizes the process of zero-cost reuse as the identity function in a Curry-style theory.
Larry Diehl, Denis Firsov, Aaron Stump
Proc. ACM Program. Lang.2
2015 Certified Normalization of Context-Free Grammars
abstract
Every context-free grammar can be transformed into an equivalent one in the Chomsky normal form by a sequence of four transformations. In this work on formalization of language theory, we prove formally in the Agda dependently typed programming language that each of these transformations is correct in the sense of making progress toward normality and preserving the language of the given grammar. Also, we show that the right sequence of these transformations leads to a grammar in the Chomsky normal form (since each next transformation preserves the normality properties established by the previous ones) that accepts the same language as the given grammar. As we work in a constructive setting, soundness and completeness proofs are functions converting between parse trees in the normalized and original grammars.
Denis Firsov, Tarmo Uustalu
CPP1
2013 Certified Parsing of Regular Languages
Denis Firsov, Tarmo Uustalu
CPP1