6

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.

Jus12
  • 17,058
  • 25
  • 90
  • 151
  • 1
    There are many pairing-based crypto libraries and a good chunk is for Java. [Here](https://gist.github.com/artjomb/f2d720010506569d3a39) is a small list. – Artjom B. Oct 15 '15 at 15:04

3 Answers3

5

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.

FWDekker
  • 542
  • 1
  • 10
  • 21
imichaelmiers
  • 3,321
  • 2
  • 16
  • 25
  • Thanks. Is the MIRACL support better than what is in jPBC. It might be worthwhile to write a better Java library. Could you please write a bit on why you feel jPBC is not very good? Thanks. – Jus12 Apr 13 '12 at 08:36
2

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

FWDekker
  • 542
  • 1
  • 10
  • 21
1

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

  • Link-only answers are discouraged, SO answers should be the end-point of a search for a solution (vs. yet another stopover of references, which tend to get stale over time). Please consider adding a stand-alone synopsis here, keeping the link as a reference – Alex Sep 24 '13 at 16:29
  • 1
    This looks promising. Has anyone used it? Feedback would be appreciated. – Jus12 Jan 21 '14 at 06:57