--- _id: '2977' abstract: - lang: eng text: "Cryptographic two-party protocols are used ubiquitously in\n everyday life. While some of these protocols are easy to\n understand and implement (e.g., key exchange or transmission of\n encrypted data), many of them are much more complex (e.g.,\n e-banking and e-voting applications, or anonymous authentication\n and credential systems).\n\n For a software engineer without appropriate cryptographic skills\n the implementation of such protocols is often difficult, time\n consuming and error-prone. For this reason, a number of compilers\n supporting programmers have been published in recent\n years. However, they are either designed for very specific\n cryptographic primitives (e.g., zero-knowledge proofs of\n knowledge), or they only offer a very low level of abstraction and\n thus again demand substantial mathematical and cryptographic\n \ skills from the programmer. Finally, some of the existing\n compilers do not produce executable code, but only metacode which\n has to be instantiated with mathematical libraries, encryption\n routines, etc. before it can actually be used.\n \n In this paper we present a cryptographically aware compiler which\n is equally useful to cryptographers who want to benchmark\n protocols designed on paper, and to programmers who want to\n implement complex security sensitive protocols without having to\n understand all subtleties. Our tool offers a high level of\n abstraction and outputs well-structured and documented Java\n code. We believe that our compiler can contribute to shortening\n the development cycles of cryptographic applications and to\n reducing their error-proneness." acknowledgement: This work was in part funded by the European Community’s Seventh Framework Programme (FP7) under grant agreement no. 216499 and the Swiss Hasler Foundation under projects no. 09037 and 10069. author: - first_name: Endre full_name: Bangerter, Endre last_name: Bangerter - first_name: Stephan full_name: Stephan Krenn id: 329FCCF0-F248-11E8-B48F-1D18A9856A87 last_name: Krenn orcid: 0000-0003-2835-9093 - first_name: Martial full_name: Seifriz, Martial last_name: Seifriz - first_name: Ulrich full_name: Ultes-Nitsche, Ulrich last_name: Ultes Nitsche citation: ama: 'Bangerter E, Krenn S, Seifriz M, Ultes Nitsche U. cPLC - A Cryptographic Programming Language and Compiler. In: Venter H, Coetzee M, Loock M, eds. IEEE; 2011. doi:10.1109/ISSA.2011.6027533' apa: 'Bangerter, E., Krenn, S., Seifriz, M., & Ultes Nitsche, U. (2011). cPLC - A Cryptographic Programming Language and Compiler. In H. Venter, M. Coetzee, & M. Loock (Eds.). Presented at the ISSA: Information Security South Africa, IEEE. https://doi.org/10.1109/ISSA.2011.6027533' chicago: Bangerter, Endre, Stephan Krenn, Martial Seifriz, and Ulrich Ultes Nitsche. “CPLC - A Cryptographic Programming Language and Compiler.” edited by Hein Venter, Marijke Coetzee, and Marianne Loock. IEEE, 2011. https://doi.org/10.1109/ISSA.2011.6027533. ieee: 'E. Bangerter, S. Krenn, M. Seifriz, and U. Ultes Nitsche, “cPLC - A Cryptographic Programming Language and Compiler,” presented at the ISSA: Information Security South Africa, 2011.' ista: 'Bangerter E, Krenn S, Seifriz M, Ultes Nitsche U. 2011. cPLC - A Cryptographic Programming Language and Compiler. ISSA: Information Security South Africa.' mla: Bangerter, Endre, et al. CPLC - A Cryptographic Programming Language and Compiler. Edited by Hein Venter et al., IEEE, 2011, doi:10.1109/ISSA.2011.6027533. short: E. Bangerter, S. Krenn, M. Seifriz, U. Ultes Nitsche, in:, H. Venter, M. Coetzee, M. Loock (Eds.), IEEE, 2011. conference: name: 'ISSA: Information Security South Africa' date_created: 2018-12-11T12:00:39Z date_published: 2011-08-01T00:00:00Z date_updated: 2021-01-12T07:40:12Z day: '01' doi: 10.1109/ISSA.2011.6027533 editor: - first_name: Hein full_name: Venter, Hein S. last_name: Venter - first_name: Marijke full_name: Coetzee, Marijke last_name: Coetzee - first_name: Marianne full_name: Loock, Marianne last_name: Loock extern: 1 month: '08' publication_status: published publisher: IEEE publist_id: '3726' quality_controlled: 0 status: public title: cPLC - A Cryptographic Programming Language and Compiler type: conference year: '2011' ...