Publicação
Full proof cryptography: verifiable compilation of efficient zero-knowledge protocols
| Resumo: | Developers building cryptography into security-sensitive applications face a daunting task. Not only must they understand the security guarantees delivered by the constructions they choose, they must also implement and combine them correctly and efficiently. Cryptographic compilers free developers from having to implement cryptography on their own by turning high-level specifications of security goals into efficient implementations. Yet, trusting such tools is risky as they rely on complex mathematical machinery and claim security properties that are subtle and difficult to verify. In this paper, we present ZKCrypt, an optimizing cryptographic compiler that achieves an unprecedented level of assurance without sacrificing practicality for a comprehensive class of cryptographic protocols, known as Zero-Knowledge Proofs of Knowledge. The pipeline of ZKCrypt tightly integrates purpose-built verified compilers and verifying compilers producing formal proofs in the CertiCrypt framework. By combining the guarantees delivered by each stage in the pipeline, ZKCrypt provides assurance that the implementation it outputs securely realizes the high-level proof goal given as input. We report on the main characteristics of ZKCrypt, highlight new definitions and concepts at its foundations, and illustrate its applicability through a representative example of an anonymous credential system. |
|---|---|
| Autores principais: | Almeida, José Bacelar |
| Outros Autores: | Barbosa, Manuel; Bangerter, Endre; Barthe, Gilles; Krenn, Stephan; Béguelin, Santiago Zanella |
| Assunto: | Zero-knowledge Verifying compilation Cryptographic compiler |
| Ano: | 2012 |
| 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 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 Jasmin: high-assurance and high-speed cryptography
por: Almeida, José Bacelar
Publicado em: (2017)
por: Almeida, José Bacelar
Publicado em: (2017)
article Compiler assisted elliptic curve cryptography
por: Barbosa, Manuel
Publicado em: (2007)
por: Barbosa, Manuel
Publicado em: (2007)
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 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 A fast and verified software stack for secure function evaluation
por: Almeida, José Bacelar
Publicado em: (2017)
por: Almeida, José Bacelar
Publicado em: (2017)
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 A framework to optimize compilation task
por: Matos, Paulo
Publicado em: (2007)
por: Matos, Paulo
Publicado em: (2007)
article Constructive and destructive use of compilers in elliptic curve cryptography
por: Barbosa, Manuel
Publicado em: (2009)
por: Barbosa, Manuel
Publicado em: (2009)
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 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)
groups A demonstration of compilability for UML template instances
por: Farinha, J.
Publicado em: (2016)
por: Farinha, J.
Publicado em: (2016)
article Dolphin-FEW: an architecture for compilers development, monitoring and use on the web
por: Matos, Paulo
Publicado em: (2003)
por: Matos, Paulo
Publicado em: (2003)
article DOLPHIN-FEW - An example of a Web system to analyze and study compilers behavior
por: Matos, Paulo
Publicado em: (2003)
por: Matos, Paulo
Publicado em: (2003)
article Large language models: compilers for the 4th generation of programming languages?
por: Marcondes, Francisco Supino
Publicado em: (2023)
por: Marcondes, Francisco Supino
Publicado em: (2023)
article AspectLISA: an aspect-oriented compiler construction system based on attribute grammars
por: Rebernak, Damijan
Publicado em: (2006)
por: Rebernak, Damijan
Publicado em: (2006)
draft A Demonstration of compilability for UML template instances
por: Farinha, José
Publicado em: (2016)
por: Farinha, José
Publicado em: (2016)
article Verified password generation from password composition policies
por: Grilo, Miguel
Publicado em: (2022)
por: Grilo, Miguel
Publicado em: (2022)
article Automatic generation of language-based tools using the LISA system
por: Henriques, Pedro Rangel
Publicado em: (2005)
por: Henriques, Pedro Rangel
Publicado em: (2005)
article Comparing generators for language-based tools
por: Cruz, Daniela
Publicado em: (2007)
por: Cruz, Daniela
Publicado em: (2007)
school Cryptographic library support for a certified compiler
por: Fernandes, Nuno Filipe Trovisco
Publicado em: (2014)
por: Fernandes, Nuno Filipe Trovisco
Publicado em: (2014)
article A solution to dynamically build an interactive visualization system to the DOLPHIN-FEW
por: Matos, Paulo
Publicado em: (2003)
por: Matos, Paulo
Publicado em: (2003)
article ABC with a UNIX flavor
por: Azevedo, Bruno M.
Publicado em: (2013)
por: Azevedo, Bruno M.
Publicado em: (2013)
article The COPLE2 Corpus: a Learner Corpus for Portuguese
por: Mendes, Amália
Publicado em: (2016)
por: Mendes, Amália
Publicado em: (2016)
article Specifying languages using aspect-oriented approach: aspectLISA
por: Rebernak, Damijan
Publicado em: (2006)
por: Rebernak, Damijan
Publicado em: (2006)
article Specifying languages using aspect-oriented approach: AspectLISA
por: Rebernak, Damijan
Publicado em: (2006)
por: Rebernak, Damijan
Publicado em: (2006)
article VisualLISA: a domain specific visual language for attribute grammars
por: Oliveira, Nuno
Publicado em: (2009)
por: Oliveira, Nuno
Publicado em: (2009)
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 Enhancing maritime supply chain security and efficiency: A review of Zero-Knowledge Proofs in blockchain applications
por: Silveirinha, J. C.
Publicado em: (2025)
por: Silveirinha, J. C.
Publicado em: (2025)
article A graphical interface based on grafcet for programming industrial robots off-line
por: Arnold, Gustavo V.
Publicado em: (2005)
por: Arnold, Gustavo V.
Publicado em: (2005)
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)
school A moral tributária nos países latinos
por: Fernandes, Júlio Sérgio Alves Dias
Publicado em: (2018)
por: Fernandes, Júlio Sérgio Alves Dias
Publicado em: (2018)
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)
groups Automatic synthesis of VHDL Hardware Components from IOPT Petri Net models
por: Pereira, Fernando
Publicado em: (2013)
por: Pereira, Fernando
Publicado em: (2013)
article The framework of health and safety in rehabilitation and maintenance of buildings with condominium management
por: Reis, C. M.
Publicado em: (2021)
por: Reis, C. M.
Publicado em: (2021)
article An automatic programming tool for heterogeneous
por: Tavares, Adriano
Publicado em: (1997)
por: Tavares, Adriano
Publicado em: (1997)
Registos relacionados
-
article A certifying compiler for zero-knowledge proofs of knowledge based on sigma-protocols
por: Almeida, José Bacelar
Publicado em: (2010) -
article Jasmin: high-assurance and high-speed cryptography
por: Almeida, José Bacelar
Publicado em: (2017) -
article Compiler assisted elliptic curve cryptography
por: Barbosa, Manuel
Publicado em: (2007) -
article A formal treatment of the role of verified compilers in secure computation
por: Almeida, José Bacelar
Publicado em: (2022) -
article Certified compilation for cryptography: Extended x86 instructions and constant-time verification
por: Almeida, José Bacelar
Publicado em: (2020)