---
_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'
...