We present the construction and implementation of an 8-bit S-box with a differential and linear branch number of 3. We show an application by designing Fly, a simple block cipher based on bitsliced evaluations of the S-box and bit rotations that targets the same platforms as Pride, and which can be seen as a variant of Present with 8-bit...
-
October 17, 2016 (v1)Conference paperUploaded on: December 3, 2022
-
August 26, 2016 (v1)Conference paper
Boolean reflection is a formalization technique that represents decidable predicates with their decision procedures and where truth values become booleans. Reflection occurs in the small scale: since conjectures are stated using programs their symbolic execution provides a valuable form of automation. In this approach the user faces the "...
Uploaded on: March 25, 2023 -
July 9, 2018 (v1)Conference paper
Software-based countermeasures provide effective mitigation against side-channel attacks, often with minimal efficiency and deployment overheads. Their effectiveness is often amenable to rigorous analysis: specifically, several popular countermeasures can be formalized as information flow policies, and correct implementation of the...
Uploaded on: December 4, 2022 -
October 6, 2015 (v1)Conference paper
International audience
Uploaded on: March 25, 2023 -
July 8, 2020 (v1)Conference paper
The ElGamal encryption scheme is not only the most extensively used alternative to RSA, but is also almost exclusively used in voting systems as an effective homomorphic encryption scheme. Being easily adaptable to a wide range of cryptographic groups, the ElGamal encryption scheme enjoys homomorphic properties while remaining semantically...
Uploaded on: December 4, 2022 -
October 6, 2022 (v1)Publication
In this paper we describe the design and implementation of feqb, a tool that synthesizes sound equality tests for inductive data types in the dependent type theory of the Coq system. Our procedure scales to large inductive data types, as in hundreds of constructors, since the terms and proofs it synthesizes are linear in the size of the...
Uploaded on: December 4, 2022 -
April 23, 2018 (v1)Conference paper
The cost of higher-order masking as a countermeasure against side-channel attacks is often considered too high for practical scenarios, as protected implementations become very slow. At Eurocrypt 2017, the bounded moment leakage model was proposed to study the (theoretical) security of parallel implementations of masking schemes [5]. Work at...
Uploaded on: December 4, 2022 -
November 15, 2021 (v1)Conference paper
Many security properties of interest are captured by instrumented semantics that model the functional behavior and the leakage of programs. For several important properties, including cryptographic constant-time (CCT), leakage models are sufficiently abstract that one can define instrumented semantics for high-level and low-level programs. One...
Uploaded on: December 4, 2022 -
September 9, 2020 (v1)Journal article
The design of glitch-resistant higher-order masking schemes is an important challenge in cryptographic engineering. A recent work by Moos et al. (CHES 2019) showed that most published schemes (and all efficient ones) exhibit local or composability flaws at high security orders, leaving a critical gap in the literature on hardware masking. In...
Uploaded on: December 4, 2022 -
January 18, 2017 (v1)Conference paper
Couplings are a powerful mathematical tool for reasoning about pairs of probabilistic processes. Recent developments in formal verification identify a close connection between couplings and pRHL, a relational program logic motivated by applications to provable security, enabling formal construction of couplings from the probability theory...
Uploaded on: February 28, 2023 -
July 9, 2018 (v1)Conference paper
The CMAC standard, when initially proposed by Iwata and Kurosawa as OMAC1, was equipped with a complex game-based security proof. Following recent advances in formal verification for game-based security proofs, we formalize a proof of unforgeability for CMAC in EasyCrypt. A side effect of this proof includes improvements and extensions to...
Uploaded on: December 4, 2022 -
July 5, 2016 (v1)Conference paper
Over the last decade, differential privacy has achieved widespread adoption within the privacy community. Moreover, it has attracted significant attention from the verification community, resulting in several successful tools for formally proving differential privacy. Although their technical approaches vary greatly, all existing tools rely on...
Uploaded on: February 28, 2023 -
November 15, 2021 (v1)Conference paper
In this paper we enhance the EasyCrypt proof assistant to reason about computational complexity of adversaries. The key technical tool is a Hoare logic for reasoning about computational complexity (execution time and oracle calls) of adversarial computations. Our Hoare logic is built on top of the module system used by EasyCrypt for modeling...
Uploaded on: December 3, 2022 -
June 25, 2019 (v1)Conference paper
Code-based game-playing is a popular methodology for proving security of cryptographic constructions and side-channel countermeasures. This methodology relies on treating cryptographic proofs as an instance of relational program verification (between probabilistic programs), and decomposing the latter into a series of elementary relational...
Uploaded on: December 4, 2022 -
March 27, 2023 (v1)Publication
In this paper we enhance the EasyCrypt proof assistant to reason about computational complexity of ad-versaries. The key technical tool is a Hoare logic for reasoning about computational complexity (executiontime and oracle calls) of adversarial computations. Our Hoare logic is built on top of the module system usedby EasyCrypt for modeling...
Uploaded on: March 31, 2023 -
July 12, 2016 (v1)Conference paper
We propose a probabilistic Hoare logic aHL based on the union bound, a tool from basic probability theory. While the union bound is simple, it is an extremely common tool for analyzing randomized algorithms. In formal verification terms, the union bound allows flexible and compos-itional reasoning over possible ways an algorithm may go wrong....
Uploaded on: February 28, 2023 -
November 7, 2022 (v1)Conference paper
Cryptographic constant-time (CT) is a popular programming discipline used by cryptographic libraries to protect themselves against timing attacks. The CT discipline aims to enforce that program execution does not leak secrets, where leakage is defined by a formal leakage model. In practice, different leakage models coexist, sometimes even...
Uploaded on: December 3, 2022 -
December 2017 (v1)Journal article
Program sensitivity, also known as Lipschitz continuity, describes how small changes in a program's input lead to bounded changes in the output. We propose an average notion of program sensitivity for probabilistic programs-expected sensitivity-that averages a distance function over a probabilistic coupling of two output distributions from two...
Uploaded on: December 4, 2022 -
May 7, 2017 (v1)Conference paper
Proof by coupling is a classical proof technique for establishing probabilistic properties of two probabilistic processes, like stochastic dominance and rapid mixing of Markov chains. More recently, couplings have been investigated as a useful abstraction for formal reasoning about relational properties of probabilistic programs, in particular...
Uploaded on: February 28, 2023 -
December 4, 2023 (v1)Publication
We define and implement CV2EC, a translation from CryptoVerif assumptions on primitives to EasyCrypt games. CryptoVerif and EasyCrypt are two proof tools for mechanizing game-based proofs. While CryptoVerif is primarily suited for verifying security protocols, EasyCrypt has the expressive power for verifying cryptographic primitives and...
Uploaded on: December 7, 2023 -
July 8, 2024 (v1)Conference paper
We define and implement CV2EC, a translation from CryptoVerif assumptions on primitives to EasyCrypt games. CryptoVerif and EasyCrypt are two proof tools for mechanizing game-based proofs. While CryptoVerif is primarily suited for verifying security protocols, EasyCrypt has the expressive power for verifying cryptographic primitives and...
Uploaded on: July 13, 2024 -
February 23, 2021 (v1)Journal article
We propose a new approach for building efficient, provably secure, and practically hardened implementations of masked algorithms. Our approach is based on a Domain Specific Language in which users can write efficient assembly implementations and fine-grained leakage models. The latter are then used as a basis for formal verification, allowing...
Uploaded on: December 3, 2022 -
October 15, 2018 (v1)Conference paper
Symbolic methods have been used extensively for proving security of cryptographic protocols in the Dolev-Yao model, and more recently for proving security of cryptographic primitives and constructions in the computational model. However, existing methods for proving security of cryptographic constructions in the computational model often...
Uploaded on: December 4, 2022