Paper 2012/226

ZKPDL: A Language-Based System for Efficient Zero-Knowledge Proofs and Electronic Cash

Sarah Meiklejohn, C. Chris Erway, Alptekin Küpçü, Theodora Hinkle, and Anna Lysyanskaya

Abstract

In recent years, many advances have been made in cryptography, as well as in the performance of communication networks and processors. As a result, many advanced cryptographic protocols are now efficient enough to be considered practical, yet research in the area remains largely theoretical and little work has been done to use these protocols in practice, despite a wealth of potential applications. This paper introduces a simple description language, ZKPDL, and an interpreter for this language. ZKPDL implements non-interactive zero-knowledge proofs of knowledge, a primitive which has received much attention in recent years. Using our language, a single program may specify the computation required by both the prover and verifier of a zero-knowledge protocol, while our interpreter performs a number of optimizations to lower both computational and space overhead. Our motivating application for ZKPDL has been the efficient implementation of electronic cash. As such, we have used our language to develop a cryptographic library, Cashlib, that provides an interface for using ecash and fair exchange protocols without requiring expert knowledge from the programmer.

Note: http://github.com/brownie/cashlib

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Published elsewhere. full version of paper published at USENIX Security 2010
Keywords
applicationselectronic commerce and paymentfair exchangezero knowledge
Contact author(s)
akupcu @ ku edu tr
History
2012-04-30: received
Short URL
https://ia.cr/2012/226
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2012/226,
      author = {Sarah Meiklejohn and C.  Chris Erway and Alptekin Küpçü and Theodora Hinkle and Anna Lysyanskaya},
      title = {ZKPDL: A Language-Based System for Efficient Zero-Knowledge Proofs and Electronic Cash},
      howpublished = {Cryptology ePrint Archive, Paper 2012/226},
      year = {2012},
      note = {\url{https://eprint.iacr.org/2012/226}},
      url = {https://eprint.iacr.org/2012/226}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.