Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por Manuel Barbosa

2005

Recursion patterns and time-analysis

Autores
Barbosa, A; Cunha, A; Pinto, JS;

Publicação
ACM SIGPLAN NOTICES

Abstract
This paper explores sonic ideas concerning the time-analysis of functional programs defined by instantiating typical recursion patterns such as folds, unfolds. and hylomorphisms. The concepts in this paper are illustrated through a rich set of examples in the Haskell programming language. We concentrate on unfolds and folds (also known as anamorphisms and catamorphisms respectively) of recursively defined types, as well as the more general hylomorphism pattern. For the latter, we use as case-studies two famous sorting algorithms, mergesort and quicksort. Even though time analysis is not compositional, we argue that splitting functions to expose the explicit construction of the recursion tree and its later consumption helps with this analysis.

2010

Deductive verification of cryptographic software

Autores
Almeida, JB; Barbosa, M; Pinto, JS; Vieira, B;

Publicação
Innovations in Systems and Software Engineering

Abstract
We apply state-of-the art deductive verification tools to check security-relevant properties of cryptographic software, including safety, absence of error propagation, and correctness with respect to reference implementations. We also develop techniques to help us in our task, focusing on methods oriented towards increased levels of automation, in scenarios where there are clear obvious limits to such automation. These techniques allow us to integrate automatic proof tools with an interactive proof assistant, where the latter is used off-line to prove once-and-for-all fundamental lemmas about properties of programs. The techniques developed have independent interest for practical deductive verification in general. © 2010 Springer-Verlag London Limited.

2009

Verifying Cryptographic Software Correctness with Respect to Reference Implementations

Autores
Almeida, JB; Barbosa, M; Pinto, JS; Vieira, B;

Publicação
FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS

Abstract
This paper presents techniques developed to check program equivalences in the context of cryptographic software development, where specifications are typically reference implementations. The techniques allow for the integration of interactive proof techniques (required given the difficulty and generality of the results sought) in a verification infrastructure that is capable of discharging many verification conditions automatically. To this end, the difficult results in the verification process (to be proved interactively) are isolated as a set of lemmas. The fundamental notion of natural invariant is used to link the specification level and the interactive proof construction process.

2009

Deductive Verification of Cryptographic Software

Autores
Barbosa, M; Almeida, JB; Pinto, JS; Vieira, B;

Publicação
First NASA Formal Methods Symposium - NFM 2009, Moffett Field, California, USA, April 6-8, 2009.

Abstract

2010

A Deductive Verification Platform for Cryptographic Software

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

Publicação
ECEASST

Abstract

2023

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

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

Publicação
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.

  • 13
  • 16