Publicação
A fast and verified software stack for secure function evaluation
| Resumo: | 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. |
|---|---|
| Autores principais: | Almeida, José Bacelar |
| Outros Autores: | Barbosa, Manuel; Barthe, Gilles Jacques Denis; Dupressoir, François; Grégoire, Benjamin; Laporte, Vincent; Pereira, Vitor |
| Assunto: | Secure function evaluation Certified compilation Verified implementation Ciências Naturais::Ciências da Computação e da Informação |
| Ano: | 2017 |
| País: | Portugal |
| Tipo de documento: | comunicação em conferência |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | Universidade do Minho |
| Idioma: | inglês |
| Origem: | RepositóriUM - Universidade do Minho |
Registos relacionados
article Jasmin: high-assurance and high-speed cryptography
por: Almeida, José Bacelar
Publicado em: (2017)
por: Almeida, José Bacelar
Publicado em: (2017)
article Full proof cryptography: verifiable compilation of efficient zero-knowledge protocols
por: Almeida, José Bacelar
Publicado em: (2012)
por: Almeida, José Bacelar
Publicado em: (2012)
article A formal treatment of the role of verified compilers in secure computation
por: Almeida, José Bacelar
Publicado em: (2022)
por: Almeida, José Bacelar
Publicado em: (2022)
article Verifying constant-time implementations
por: Almeida, José Bacelar
Publicado em: (2016)
por: Almeida, José Bacelar
Publicado em: (2016)
article Certified computer-aided cryptography: efficient provably secure machine code from high-level implementations
por: Almeida, José Bacelar
Publicado em: (2013)
por: Almeida, José Bacelar
Publicado em: (2013)
article Certified compilation for cryptography: Extended x86 instructions and constant-time verification
por: Almeida, José Bacelar
Publicado em: (2020)
por: Almeida, José Bacelar
Publicado em: (2020)
article Verified password generation from password composition policies
por: Grilo, Miguel
Publicado em: (2022)
por: Grilo, Miguel
Publicado em: (2022)
article Compiler assisted elliptic curve cryptography
por: Barbosa, Manuel
Publicado em: (2007)
por: Barbosa, Manuel
Publicado em: (2007)
article Delegatable homomorphic encryption with applications to secure outsourcing of computation
por: Barbosa, Manuel
Publicado em: (2012)
por: Barbosa, Manuel
Publicado em: (2012)
article Verifying cryptographic software correctness with respect to reference implementations
por: Almeida, José Bacelar
Publicado em: (2009)
por: Almeida, José Bacelar
Publicado em: (2009)
article Machine-checked ZKP for NP relations: formally verified security proofs and implementations of MPC-in-the-head
por: Almeida, José Bacelar
Publicado em: (2021)
por: Almeida, José Bacelar
Publicado em: (2021)
article Modelling and verifying smell-free architectures with the Archery language
por: Sanchez, Alejandro
Publicado em: (2015)
por: Sanchez, Alejandro
Publicado em: (2015)
article hnforcing ideal-world leakage bounds in real-world secret sharing MPC frameworks
por: Almeida, José Bacelar
Publicado em: (2018)
por: Almeida, José Bacelar
Publicado em: (2018)
article NESSy: A new evaluator for software development tools
por: Miranda, Enrique
Publicado em: (2013)
por: Miranda, Enrique
Publicado em: (2013)
description CROSSCON: Cross-platform Open Security Stack for Connected Devices
por: Crispo, Bruno
Publicado em: (2024)
por: Crispo, Bruno
Publicado em: (2024)
article Constructive and destructive use of compilers in elliptic curve cryptography
por: Barbosa, Manuel
Publicado em: (2009)
por: Barbosa, Manuel
Publicado em: (2009)
article Secure management of autonomous vehicle platooning
por: Gonçalves, Fábio Raul Costa
Publicado em: (2018)
por: Gonçalves, Fábio Raul Costa
Publicado em: (2018)
article Generalising KAT to verify weighted computations
por: Gomes, Leandro
Publicado em: (2019)
por: Gomes, Leandro
Publicado em: (2019)
article VisualLISA: a visual interface for an attribute grammar based compiler-compiler
por: Pereira, Maria João
Publicado em: (2008)
por: Pereira, Maria João
Publicado em: (2008)
article Determinants of return on assets and capital structure - disparities depending on the region and the certified accountant
por: Fernandes, António B.
Publicado em: (2016)
por: Fernandes, António B.
Publicado em: (2016)
article The security policy application process: action research
por: Lopes, Isabel Maria
Publicado em: (2016)
por: Lopes, Isabel Maria
Publicado em: (2016)
article A framework to optimize compilation task
por: Matos, Paulo
Publicado em: (2007)
por: Matos, Paulo
Publicado em: (2007)
article Verifying temporal relational models with Pardinus
por: Macedo, Nuno
Publicado em: (2023)
por: Macedo, Nuno
Publicado em: (2023)
article Design of a case-based reasoner for information security in military organizations
por: Borges, José
Publicado em: (2015)
por: Borges, José
Publicado em: (2015)
article A certifying compiler for zero-knowledge proofs of knowledge based on sigma-protocols
por: Almeida, José Bacelar
Publicado em: (2010)
por: Almeida, José Bacelar
Publicado em: (2010)
article Teacher evaluation in Portugal: persisting challenges and perceived effects
por: Flores, Maria Assunção
Publicado em: (2018)
por: Flores, Maria Assunção
Publicado em: (2018)
article Towards a green and secure architecture for reconfigurable IoT end-devices
por: Oliveira, Daniel José Cunha
Publicado em: (2018)
por: Oliveira, Daniel José Cunha
Publicado em: (2018)
article The design of a framework for compilers development
por: Matos, Paulo
Publicado em: (2005)
por: Matos, Paulo
Publicado em: (2005)
article Dolphin-complab: a virtual compilers laboratory
por: Matos, Paulo
Publicado em: (2003)
por: Matos, Paulo
Publicado em: (2003)
image Dolphin-complab: a virtual compilers laboratory
por: Matos, Paulo
Publicado em: (2003)
por: Matos, Paulo
Publicado em: (2003)
article DIR - A code representation approach for compilers
por: Matos, Paulo
Publicado em: (2004)
por: Matos, Paulo
Publicado em: (2004)
article DOLPHIN - a system for compilers development, teach and use
por: Matos, Paulo
Publicado em: (2003)
por: Matos, Paulo
Publicado em: (2003)
article The activity of bioinformatics developers and users in Stack Overflow
por: Pérez-López, Roi
Publicado em: (2021)
por: Pérez-López, Roi
Publicado em: (2021)
article Quantum privacy‐preserving service for secure lane change in vehicular networks
por: Rahmani, Zeinab
Publicado em: (2023)
por: Rahmani, Zeinab
Publicado em: (2023)
article Consumer-controlled digital twin architecture: How blockchain technology gives consumers control over their smart devices’ digital twins and data
por: Pinto, F.
Publicado em: (9999)
por: Pinto, F.
Publicado em: (9999)
article The Links Between Innovation, Strategy and Internationalization Processes: A Comprehensive Literature Review
por: Barbosa, Fernando
Publicado em: (2016)
por: Barbosa, Fernando
Publicado em: (2016)
article Towards to secure an IoT adaptive environment system
por: Oliveira, Pedro
Publicado em: (2019)
por: Oliveira, Pedro
Publicado em: (2019)
category Typing the evolution of variational software
por: Afonso, Luís Carvalho
Publicado em: (2018)
por: Afonso, Luís Carvalho
Publicado em: (2018)
article IT governance maturity in higher education: A study in Brazilian and Portuguese Universities
por: Bianchi, Isaías Scalabrin
Publicado em: (2018)
por: Bianchi, Isaías Scalabrin
Publicado em: (2018)
book On the rim between business processes and software systems
por: da Cruz, Maria Estrela Ferreira
Publicado em: (2021)
por: da Cruz, Maria Estrela Ferreira
Publicado em: (2021)
Registos relacionados
-
article Jasmin: high-assurance and high-speed cryptography
por: Almeida, José Bacelar
Publicado em: (2017) -
article Full proof cryptography: verifiable compilation of efficient zero-knowledge protocols
por: Almeida, José Bacelar
Publicado em: (2012) -
article A formal treatment of the role of verified compilers in secure computation
por: Almeida, José Bacelar
Publicado em: (2022) -
article Verifying constant-time implementations
por: Almeida, José Bacelar
Publicado em: (2016) -
article Certified computer-aided cryptography: efficient provably secure machine code from high-level implementations
por: Almeida, José Bacelar
Publicado em: (2013)