{"citation":{"chicago":"Almeida, José, Manuel Barbosa, Endre Bangerter, Gilles Barthe, Stephan Krenn, and Santiago Béguelin. “Full Proof Cryptography: Verifiable Compilation of Efficient Zero-Knowledge Protocols.” In Proceedings of the 2012 ACM Conference on Computer and Communications Security, 488–500. ACM, 2012. https://doi.org/10.1145/2382196.2382249.","ista":"Almeida J, Barbosa M, Bangerter E, Barthe G, Krenn S, Béguelin S. 2012. Full proof cryptography: Verifiable compilation of efficient zero-knowledge protocols. Proceedings of the 2012 ACM conference on Computer and communications security. CCS: Computer and Communications Security, 488–500.","mla":"Almeida, José, et al. “Full Proof Cryptography: Verifiable Compilation of Efficient Zero-Knowledge Protocols.” Proceedings of the 2012 ACM Conference on Computer and Communications Security, ACM, 2012, pp. 488–500, doi:10.1145/2382196.2382249.","short":"J. Almeida, M. Barbosa, E. Bangerter, G. Barthe, S. Krenn, S. Béguelin, in:, Proceedings of the 2012 ACM Conference on Computer and Communications Security, ACM, 2012, pp. 488–500.","apa":"Almeida, J., Barbosa, M., Bangerter, E., Barthe, G., Krenn, S., & Béguelin, S. (2012). Full proof cryptography: Verifiable compilation of efficient zero-knowledge protocols. In Proceedings of the 2012 ACM conference on Computer and communications security (pp. 488–500). Raleigh, NC, USA: ACM. https://doi.org/10.1145/2382196.2382249","ama":"Almeida J, Barbosa M, Bangerter E, Barthe G, Krenn S, Béguelin S. Full proof cryptography: Verifiable compilation of efficient zero-knowledge protocols. In: Proceedings of the 2012 ACM Conference on Computer and Communications Security. ACM; 2012:488-500. doi:10.1145/2382196.2382249","ieee":"J. Almeida, M. Barbosa, E. Bangerter, G. Barthe, S. Krenn, and S. Béguelin, “Full proof cryptography: Verifiable compilation of efficient zero-knowledge protocols,” in Proceedings of the 2012 ACM conference on Computer and communications security, Raleigh, NC, USA, 2012, pp. 488–500."},"conference":{"end_date":"2012-10-18","start_date":"2012-10-16","name":"CCS: Computer and Communications Security","location":"Raleigh, NC, USA"},"quality_controlled":"1","acknowledgement":"This work was partially funded by National Funds through the FCT - Fundação para a Ciência e a Tecnologia (Portuguese Foundation for Science and Technology) within project ENI-AC/2224/2009, by ENIAC Joint Undertaking under grant agreement number 120224, European Projects FP7-256980 NESSoS and FP7-229599 AMAROUT, Spanish National project TIN2009-14599 DESAFIOS 10, and Madrid Regional project S2009TIC-1465 PROMETIDOS.","day":"01","publication":"Proceedings of the 2012 ACM conference on Computer and communications security","title":"Full proof cryptography: Verifiable compilation of efficient zero-knowledge protocols","department":[{"_id":"KrPi"}],"user_id":"3E5EF7F0-F248-11E8-B48F-1D18A9856A87","month":"10","doi":"10.1145/2382196.2382249","date_updated":"2021-01-12T07:39:53Z","language":[{"iso":"eng"}],"oa_version":"Submitted Version","date_created":"2018-12-11T12:00:26Z","oa":1,"date_published":"2012-10-01T00:00:00Z","publisher":"ACM","type":"conference","publist_id":"3798","scopus_import":1,"_id":"2937","publication_status":"published","year":"2012","page":"488 - 500","main_file_link":[{"url":"https://eprint.iacr.org/2012/258","open_access":"1"}],"status":"public","author":[{"full_name":"Almeida, José","last_name":"Almeida","first_name":"José"},{"full_name":"Barbosa, Manuel","last_name":"Barbosa","first_name":"Manuel"},{"full_name":"Bangerter, Endre","last_name":"Bangerter","first_name":"Endre"},{"full_name":"Barthe, Gilles","last_name":"Barthe","first_name":"Gilles"},{"id":"329FCCF0-F248-11E8-B48F-1D18A9856A87","last_name":"Krenn","orcid":"0000-0003-2835-9093","full_name":"Krenn, Stephan","first_name":"Stephan"},{"first_name":"Santiago","full_name":"Béguelin, Santiago","last_name":"Béguelin"}],"abstract":[{"lang":"eng","text":"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 this task by turning high-level specifications of security goals into efficient implementations. Yet, trusting such tools is hard 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 achieving 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 integrates purpose-built verified compilers and verifying compilers producing formal proofs in the CertiCrypt framework. By combining the guarantees delivered by each stage, ZKCrypt provides assurance that the output implementation securely realizes the abstract 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."}]}