Good library for pairing based cryptography in Java

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.


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