DocumentCode :
3423472
Title :
cPLC — A cryptographic programming language and compiler
Author :
Bangerter, E. ; Krenn, S. ; Seifriz, M. ; Ultes-Nitsche, U.
Author_Institution :
Eng. & Inf. Technol., Bern Univ. of Appl. Sci., Biel, Switzerland
fYear :
2011
fDate :
15-17 Aug. 2011
Firstpage :
1
Lastpage :
8
Abstract :
Cryptographic two-party protocols are used ubiquitously in everyday life. While some of these protocols are easy to understand and implement (e.g., key exchange or transmission of encrypted data), many of them are much more complex (e.g., e-banking and e-voting applications, or anonymous authentication and credential systems). For a software engineer without appropriate cryptographic skills the implementation of such protocols is often difficult, time consuming and error-prone. For this reason, a number of compilers supporting programmers have been published in recent years. However, they are either designed for very specific cryptographic primitives (e.g., zero-knowledge proofs of knowledge), or they only offer a very low level of abstraction and thus again demand substantial mathematical and cryptographic skills from the programmer. Finally, some of the existing compilers do not produce executable code, but only metacode which has to be instantiated with mathematical libraries, encryption routines, etc. before it can actually be used. In this paper we present a cryptographically aware compiler which is equally useful to cryptographers who want to benchmark protocols designed on paper, and to programmers who want to implement complex security sensitive protocols without having to understand all subtleties. Our tool offers a high level of abstraction and outputs well-structured and documented Java code. We believe that our compiler can contribute to shortening the development cycles of cryptographic applications and to reducing their error-proneness.
Keywords :
Java; cryptographic protocols; program compilers; Java; benchmark protocols; cPLC; compiler; cryptographic programming language; cryptographic protocols; error proneness; security sensitive protocols; software engineering; substantial mathematical skills; Benchmark testing; Cryptography; Graphical user interfaces; Java; Program processors; Protocols; Cryptographic compiler; security protocols; software engineering;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Information Security South Africa (ISSA), 2011
Conference_Location :
Johannesburg
Print_ISBN :
978-1-4577-1481-8
Type :
conf
DOI :
10.1109/ISSA.2011.6027533
Filename :
6027533
Link To Document :
بازگشت