Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by Manuel Barbosa

2010

A Deductive Verification Platform for Cryptographic Software

Authors
Barbosa, M; Pinto, JS; Filliâtre, JC; Vieira, B;

Publication
ECEASST

Abstract

2023

Fixing and Mechanizing the Security Proof of Fiat-Shamir with Aborts and Dilithium

Authors
Barbosa, M; Barthe, G; Doczkal, C; Don, J; Fehr, S; Grégoire, B; Huang, YH; Hülsing, A; Lee, Y; Wu, XD;

Publication
ADVANCES IN CRYPTOLOGY - CRYPTO 2023, PT V

Abstract
We extend and consolidate the security justification for the Dilithium signature scheme. In particular, we identify a subtle but crucial gap that appears in several ROM and QROM security proofs for signature schemes that are based on the Fiat-Shamir with aborts paradigm, including Dilithium. The gap lies in the CMA-to-NMA reduction and was uncovered when trying to formalize a variant of the QROM security proof by Kiltz, Lyubashevsky, and Schaffner (Eurocrypt 2018). The gap was confirmed by the authors, and there seems to be no simple patch for it. We provide new, fixed proofs for the affected CMA-to-NMA reduction, both for the ROM and the QROM, and we perform a concrete security analysis for the case of Dilithium to show that the claimed security level is still valid after addressing the gap. Furthermore, we offer a fully mechanized ROM proof for the CMA-security of Dilithium in the EasyCrypt proof assistant. Our formalization includes several new tools and techniques of independent interest for future formal verification results.

2023

Execution Time Program Verification with Tight Bounds

Authors
Silva, AC; Barbosa, M; Florido, M;

Publication
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PADL 2023

Abstract
This paper presents a proof system for reasoning about execution time bounds for a core imperative programming language. Proof systems are defined for three different scenarios: approximations of the worst-case execution time, exact time reasoning, and less pessimistic execution time estimation using amortized analysis. We define a Hoare logic for the three cases and prove its soundness with respect to an annotated cost-aware operational semantics. Finally, we define a verification conditions (VC) generator that generates the goals needed to prove program correctness, cost, and termination. Those goals are then sent to the Easycrypt toolset for validation. The practicality of the proof system is demonstrated with an implementation in OCaml of the different modules needed to apply it to example programs. Our case studies are motivated by real-time and cryptographic software.

2021

Mechanized Proofs of Adversarial Complexity and Application to Universal Composability

Authors
Barbosa, M; Barthe, G; Grégoire, B; Koutsos, A; Strub, PY;

Publication
IACR Cryptol. ePrint Arch.

Abstract

2021

EasyPQC: Verifying Post-Quantum Cryptography

Authors
Barbosa, M; Barthe, G; Fan, X; Grégoire, B; Hung, SH; Katz, J; Strub, PY; Wu, X; Zhou, L;

Publication
IACR Cryptol. ePrint Arch.

Abstract

2021

Security Characterization of J-PAKE and its Variants

Authors
Abdalla, M; Barbosa, M; Rønne, PB; Ryan, PYA; Sala, P;

Publication
IACR Cryptol. ePrint Arch.

Abstract

  • 15
  • 19