Question

I am looking for a good library that can perform pairing based cryptography (PBC). One I could find is jPBC

What have others used? and their experiences?

The idea is to test the performance of algorithms using standard pairings (Weil, Tate) as well as some of the newer proposals without getting my hands too much dirty in the math.

Was it helpful?

Solution

I do work in this space as well. The best thing we could find in java was jPBC. Its not very good.

Non java alternatives:

  • MIRACL: I believe this is the current fastest c implementation.

  • charm crypto: a python framework for rapidly prototyping crypto systems. Full disclosure, I am a dev on it. It has bindings to some subset of MIRACL and Lynn's PBC lib. These are more than enough to impliment most schemes.These subsets are expanding and probably can be readily expanded without getting into the math involved. Given specific requests, we might even be willing to do those
    extensions

    Furthermore, it already has support for benchmarking that can
    give specific time spent in cryptographic operations, the number of operations (e.g.
    pairings and exponentiations), and other stats.

OTHER TIPS

MIRACL is the gold standard for Elliptic Curve Cryptography over GF(p) and GF(2m) and additionally supports even more esoteric Elliptic Curves and Lucas function-based schemes. It also includes over twenty protocols based on the new paradigm of Pairing-Based Cryptography. Using MIRACL means that AES encryption, RSA public key cryptography, Diffie-Hellman Key exchange and DSA digital signature are all just a few procedure calls away.

You can read more about MIRACL here and download the SDK: https://github.com/miracl/MIRACL

An open-source java implementation of Miracl is at https://dsl-external.bbn.com/tracsvr/openP3S/wiki/jmiracl Includes benchmarks

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top