2025
Autores
Almeida, JB; Barbosa, M; Barthe, G; Blatter, L; Delerue, G; Duarte, JD; Gregoire, B; Oliveira, T; Quaresma, M; Strub, PY; Tsai, MH; Wang, BY; Yang, BY;
Publicação
PROCEEDINGS OF THE 2025 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, CCS 2025
Abstract
Jasmin is a programming language for high-speed and high-assurance cryptography. Correctness proofs of Jasmin programs are typically carried out deductively in EasyCrypt. This allows generality, modularity and composable reasoning, but does not scale well for low-level architecture-specific routines. CryptoLine offers a semi-automatic approach to formally verify algebraically-rich low-level cryptographic routines. CryptoLine proofs are self-contained: they are not integrated into higher-level formal verification developments. This paper shows how to soundly use CryptoLine to discharge subgoals in functional correctness proofs for complex Jasmin programs. We extend Jasmin with annotations and provide an automatic translation into a CryptoLine model, where most complex transformations are certified. We also formalize and implement the automatic extraction of the semantics of a CryptoLine proof to EasyCrypt. Our motivating use-case is the X-Wing hybrid KEM, for which we present the first formally verified implementation.
2025
Autores
Almeida, JB; Barbosa, M; Barthe, G; Blatter, L; Duarte, JD; Marinho Alves, GXD; Grégoire, B; Oliveira, T; Quaresma, M; Strub, PY; Tsai, MH; Wang, BY; Yang, BY;
Publicação
Ccs 2025 Proceedings of the 2025 ACM Sigsac Conference on Computer and Communications Security
Abstract
Jasmin is a programming language for high-speed and high-assurance cryptography. Correctness proofs of Jasmin programs are typically carried out deductively in EasyCrypt. This allows generality, modularity and composable reasoning, but does not scale well for low-level architecture-specific routines. CryptoLine offers a semi-automatic approach to formally verify algebraically-rich low-level cryptographic routines. CryptoLine proofs are self-contained: they are not integrated into higher-level formal verification developments. This paper shows how to soundly use CryptoLine to discharge subgoals in functional correctness proofs for complex Jasmin programs. We extend Jasmin with annotations and provide an automatic translation into a CryptoLine model, where most complex transformations are certified. We also formalize and implement the automatic extraction of the semantics of a CryptoLine proof to EasyCrypt. Our motivating use-case is the X-Wing hybrid KEM, for which we present the first formally verified implementation.
2025
Autores
Almeida, JB; Alves, GXDM; Barbosa, M; Barthe, G; Esquível, L; Hwang, V; Oliveira, T; Pacheco, H; Schwabe, P; Strub, PY;
Publicação
2025 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, SP
Abstract
We propose a hybrid formal verification approach that combines high-level deductive reasoning and circuit-based reasoning and apply it to highly optimized cryptographic assembly code. Our approach permits scaling up formal verification in two complementary directions: 1) it reduces the proof effort required for low-level functions where the computation logics are obfuscated by the intricate use of architecture-specific instructions and 2) it permits amortizing the effort of proving one implementation by using equivalence checking to propagate the guarantees to other implementations of the same computation using different optimizations or targeting different architectures. We demonstrate our approach via an extension to the EasyCrypt proof assistant and by revisiting formally verified implementations of ML-KEM in Jasmin. As a result, we obtain the first formally verified implementation of ML-KEM that offers performance comparable to the fastest non-verified implementation in x86-64 architectures.
2025
Autores
Almeida, JB; Firsov, D; Oliveira, T; Unruh, D;
Publicação
PROCEEDINGS OF THE 14TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, CPP 2025
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.
2025
Autores
Castro, JP; Campos, JC;
Publicação
2025 INTERNATIONAL CONFERENCE ON GRAPHICS AND INTERACTION, ICGI
Abstract
User-centred design is an iterative process that involves ideation, testing, and refinement to enhance usability, functionality, and overall user experience. However, there is still a need to code the final design. This transition from design to implementation is a time-consuming task. In this paper, we propose an approach and its supporting tool to generate a web application's front-end code from a prototype of its user interface. Our goal is to generate code that can be easily integrated into the overall application development. The results demonstrate that the proposed tool can achieve visual fidelity comparable to that of existing commercial plugins, while producing higher-quality code that better reflects the behaviour specified in the prototype.
2025
Autores
Marto, A; Campos, JC; Johnsen, K;
Publicação
COMPUTERS & GRAPHICS-UK
Abstract
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.