Paper 2021/961

Cryptimeleon: A Library for Fast Prototyping of Privacy-Preserving Cryptographic Schemes

Jan Bobolz, Fabian Eidens, Raphael Heitjohann, and Jeremy Fell

Abstract

We present a cryptographic Java library called Cryptimeleon designed for prototyping and benchmarking privacy-preserving cryptographic schemes. The library is geared towards researchers wanting to implement their schemes (1) as a sanity check for their constructions, and (2) for benchmark numbers in their papers. To ease the implementation process, Cryptimeleon "speaks the language" of paper writers. It offers a similar degree of abstraction as is commonly used in research papers. For example, bilinear groups can be used as the familiar black-box and Schnorr-style proofs can be described on the level of Camenisch-Stadler notation. It employs several optimizations (such as multi-exponentation) transparently, allowing the developer to phrase computations as written in the paper instead of having to conform to an artificial API for better performance. Cryptimeleon implements (among others) finite fields, elliptic curve groups and pairings, hashing, Schnorr-style zero-knowledge proofs, accumulators, digital signatures, secret sharing, group signatures, attribute-based encryption, and other modern cryptographic constructions. In this paper, we present the library, its capabilities, and explain important design decisions.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint. Minor revision.
Keywords
prototypingbenchmarkingprivacyzero-knowledge proof of knowledge
Contact author(s)
jbobolz @ mail uni-paderborn de
feidens @ mail uni-paderborn de
History
2021-07-22: received
Short URL
https://ia.cr/2021/961
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2021/961,
      author = {Jan Bobolz and Fabian Eidens and Raphael Heitjohann and Jeremy Fell},
      title = {Cryptimeleon: A Library for Fast Prototyping of Privacy-Preserving Cryptographic Schemes},
      howpublished = {Cryptology ePrint Archive, Paper 2021/961},
      year = {2021},
      note = {\url{https://eprint.iacr.org/2021/961}},
      url = {https://eprint.iacr.org/2021/961}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.