Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Vitor Pereira 0002

dblp:120/2530-2 · DBLP profile ↗
← Back
7ranked-venue papers
0as first author
3since 2021 · last 2023
0000-0002-5721-9105ORCID · verified

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

Security and privacy · 6 · 2 since 2021Software engineering, systems software and programming languages · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Network and information security
5 papers
Cryptographic protocols and secure computation · 86% Cryptographic primitives and cryptanalysis · 14%
Software engineering, system software, and programming languages
3 papers
Program verification · 82% Compilers and program optimization · 18%

Topics — the 14 heaviest of 14, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Cryptographic protocols and secure computation
secure multiparty computation
1.232021
Machine-checked ZKP for NP relations: Formally Verified Security Proofs and Implementations of MPC-in-the-Head · CCS 2021
A High-Assurance Evaluator for Machine-Checked Secure Multiparty Computation · CCS 2019
A Fast and Verified Software Stack for Secure Function Evaluation · CCS 2017
Cryptographic protocols and secure computation › proof systems
zero-knowledge proofs
1.222023
Boosting the Performance of High-Assurance Cryptography: Parallel Execution and Optimizing Memory Access in Formally-Verified Line-Point Zero-Knowledge · CCS 2023
Machine-checked ZKP for NP relations: Formally Verified Security Proofs and Implementations of MPC-in-the-Head · CCS 2021
Cryptographic protocols and secure computation › proof systems › zero-knowledge proofs
line-point zero-knowledge
0.712023
Boosting the Performance of High-Assurance Cryptography: Parallel Execution and Optimizing Memory Access in Formally-Verified Line-Point Zero-Knowledge · CCS 2023
Program verification › security property verification
verified cryptographic implementation
0.712023
Boosting the Performance of High-Assurance Cryptography: Parallel Execution and Optimizing Memory Access in Formally-Verified Line-Point Zero-Knowledge · CCS 2023
Cryptographic protocols and secure computation › proof systems › zero-knowledge proofs
MPC-in-the-head
0.512021
Machine-checked ZKP for NP relations: Formally Verified Security Proofs and Implementations of MPC-in-the-Head · CCS 2021
Cryptographic primitives and cryptanalysis
cryptographic proofs
0.412019
A High-Assurance Evaluator for Machine-Checked Secure Multiparty Computation · CCS 2019
Cryptographic protocols and secure computation
key management
0.412019
A Machine-Checked Proof of Security for AWS Key Management Service · CCS 2019
Cryptographic protocols and secure computation
machine-checked proofs
0.412019
A High-Assurance Evaluator for Machine-Checked Secure Multiparty Computation · CCS 2019
Cryptographic primitives and cryptanalysis
provable security
0.412019
A Machine-Checked Proof of Security for AWS Key Management Service · CCS 2019
Cryptographic protocols and secure computation › garbled circuits
garbled circuit protocol
0.312017
A Fast and Verified Software Stack for Secure Function Evaluation · CCS 2017
Cryptographic protocols and secure computation
verified implementation
0.312017
A Fast and Verified Software Stack for Secure Function Evaluation · CCS 2017
Program verification
proof assistants
0.112019
A High-Assurance Evaluator for Machine-Checked Secure Multiparty Computation · CCS 2019
Compilers and program optimization › verified compilation
compcert
0.112017
A Fast and Verified Software Stack for Secure Function Evaluation · CCS 2017
Compilers and program optimization
verified compilation
0.112017
A Fast and Verified Software Stack for Secure Function Evaluation · CCS 2017

Methods — techniques the papers use, named apart from their topics

easycrypt · 2.7code extraction · 2.1parallel execution · 1.3memory access optimization · 1.3formal verification · 1.1why3 · 0.8oblivious transfer · 0.6garbled circuits · 0.6MPC-in-the-head · 0.5machine-checked proof · 0.4
YearPublicationVenuePosition
2023 Boosting the Performance of High-Assurance Cryptography: Parallel Execution and Optimizing Memory Access in Formally-Verified Line-Point Zero-Knowledge
abstract
Despite the notable advances in the development of high-assurance, verified implementations of cryptographic protocols, such implementations typically face significant performance overheads, particularly due to the penalties induced by formal verification and automated extraction of executable code. In this paper, we address some core performance challenges facing computer-aided cryptography by presenting a formal treatment for accelerating such verified implementations based on multiple generic optimizations covering parallelism and memory access. We illustrate our techniques for addressing such performance bottlenecks using the Line-Point Zero-Knowledge (LPZK) protocol as a case study. Our starting point is a new verified implementation of LPZK that we formalize and synthesize using EasyCrypt; our first implementation is developed to reduce the proof effort and without considering the performance of the extracted executable code. We then show how such (automatically) extracted code can be optimized in three different ways to obtain a 3000x speedup and thus matching the performance of the manual implementation of LPZK of lpzkv2.[13] We obtain such performance gains by first modifying the algorithmic specifications, then by adopting a provably secure parallel execution model, and finally by optimizing the memory access structures. All optimizations are first formally verified inside EasyCrypt, and then executable code is automatically synthesized from each step of the formalization. For each optimization, we analyze performance gains resulting from it and also address challenges facing the computer-aided security proofs thereof, and challenges facing automated synthesis of executable code with such an optimization.
Samuel Dittmer, Karim M. El Defrawy, Stéphane Lengrand, Steve Lu 0001, Rafail Ostrovsky, Vitor Pereira 0002
CCS6
2022 A formal treatment of the role of verified compilers in secure computation
José Bacelar Almeida, Manuel Barbosa, Gilles Barthe, Hugo Pacheco 0001, Vitor Pereira 0002, Bernardo Portela
J. Log. Algebraic Methods Program.5
2021 Machine-checked ZKP for NP relations: Formally Verified Security Proofs and Implementations of MPC-in-the-Head
abstract
MPC-in-the-Head (MitH) is a general framework that enables constructing efficient zero-knowledge (ZK) protocols for NP relations from secure multiparty computation (MPC) protocols. In this paper we present the first machine-checked implementations of MitH.
José Bacelar Almeida, Manuel Barbosa, Manuel L. Correia, Karim M. El Defrawy, Stéphane Lengrand, Hugo Pacheco 0001, Vitor Pereira 0002
CCS7
2019 A Machine-Checked Proof of Security for AWS Key Management Service
José Bacelar Almeida, Manuel Barbosa, Gilles Barthe, Matthew Campagna, Ernie Cohen, Benjamin Grégoire, Vitor Pereira 0002, Bernardo Portela, Pierre-Yves Strub, Serdar Tasiran
CCS7
2019 A High-Assurance Evaluator for Machine-Checked Secure Multiparty Computation
abstract
Secure Multiparty Computation (MPC) enables a group of n</> distrusting parties to jointly compute a function using private inputs. MPC guarantees correctness of computation and confidentiality of inputs if no more than a threshold t</> of the parties are corrupted. Proactive MPC (PMPC) addresses the stronger threat model of a \emphmobile adversary that controls a changing set of parties (but only up to t</> at any instant), and may eventually corrupt all n</> parties over a long time. This paper takes a first stab at developing high-assurance implementations of (P)MPC. We formalize in \EasyCrypt, a tool-assisted framework for building high-confidence cryptographic proofs, several abstract and reusable variations of secret sharing and of (P)MPC protocols building on them. Using those, we prove a series of abstract theorems for the proactive setting. We implement and perform computer-checked security proofs of concrete instantiations of the required (abstract) protocols in \EasyCrypt. We also develop a new tool-chain to extract high-assurance executable implementations of protocols formalized and verified in \EasyCrypt. Our tool-chain uses \Why as an intermediate tool, and enables us to extract executable code from our (P)MPC formalizations. We conduct an evaluation of the extracted executables by comparing their performance to performance of manually implemented versions using \textsfPython -based \textsfCharm framework for prototyping cryptographic schemes. We argue that the small overhead of our high-assurance executables is a reasonable price to pay for the increased confidence about their correctness and security.
Karim M. El Defrawy, Vitor Pereira 0002
CCS2
2018 Enforcing Ideal-World Leakage Bounds in Real-World Secret Sharing MPC Frameworks
abstract
We give a language-based security treatment of domain-specific languages and compilers for secure multi-party computation, a cryptographic paradigm that enables collaborative computation over encrypted data. Computations are specified in a core imperative language, as if they were intended to be executed by a trusted-third party, and formally verified against an information-flow policy modelling (an upper bound to) their leakage. This allows non-experts to assess the impact of performance-driven authorized disclosure of intermediate values. Specifications are then compiled to multi-party protocols. We formalize protocol security using (distributed) probabilistic information-flow and prove security-preserving compilation: protocols only leak what is allowed by the source policy. The proof exploits a natural but previously missing correspondence between simulation-based cryptographic proofs and (composable) probabilistic non-interference. Finally, we extend our framework to justify leakage cancelling, a domain-specific optimization that allows to first write an efficient specification that fails to meet the allowed leakage upper-bound, and then apply a probabilistic pre-processing that brings leakage to the acceptable range.
José Bacelar Almeida, Manuel Barbosa, Gilles Barthe, Hugo Pacheco 0001, Vitor Pereira 0002, Bernardo Portela
CSF5
2017 A Fast and Verified Software Stack for Secure Function Evaluation
abstract
We present a high-assurance software stack for secure function evaluation (SFE). Our stack consists of three components: i. a verified compiler (CircGen) that translates C programs into Boolean circuits; ii. a verified implementation of Yao's SFE protocol based on garbled circuits and oblivious transfer; and iii. transparent application integration and communications via FRESCO, an open-source framework for secure multiparty computation (MPC). CircGen is a general purpose tool that builds on CompCert, a verified optimizing compiler for C. It can be used in arbitrary Boolean circuit-based cryptography deployments. The security of our SFE protocol implementation is formally verified using EasyCrypt, a tool-assisted framework for building high-confidence cryptographic proofs, and it leverages a new formalization of garbled circuits based on the framework of Bellare, Hoang, and Rogaway (CCS 2012). We conduct a practical evaluation of our approach, and conclude that it is competitive with state-of-the-art (unverified) approaches. Our work provides concrete evidence of the feasibility of building efficient, verified, implementations of higher-level cryptographic systems. All our development is publicly available.
José Bacelar Almeida, Manuel Barbosa, Gilles Barthe, François Dupressoir, Benjamin Grégoire, Vincent Laporte, Vitor Pereira 0002
CCS7