pypbc

Welcome to the homepage for pypbc, the Python 3 bindings for libpbc.

What is PBC?

PBC is Pairing Based Cryptography- ie, cryptographic techniques that
revolve around elliptic curves and bilinear pairings. It isn’t intended for
end users (or indeed for non-cryptographers!) but it can do some pretty
cool things if you know what you’re doing with it.

Ok, I'm a cryptographer. So what can I do with it?

Basically anything that you could do with libpbc. You can implement
virtually any pairing-based cryptosystem or signature scheme with
either of these projects, or Crypt::PBC, Paul Miller’s Perl bindings to
libpbc. If you need more convincing, check out the examples- there’s
both the BLS short signature scheme and the KSW predicate
encryption system in test.py.

So why not use libpbc?

Because you like Python, probably because its a lot faster to prototype
in, and looks at least a little bit more like real math than C. Be forewarned
that pypbc will run more slowly than pure libpbc, and so should mostly
be used for prototyping unless your goal is to interface with Python code.

What now?

There will be more actual documentation up here soon, but until then
I encourage you to grab the code and run the tests- they should give
you a pretty good idea of how the whole thing works. Right now the
biggest example is the KSW predicate encryption scheme, but I'm
hoping to add several examples taken from Paul Miller’s Perl bindings
soon.

07 Nov 20:48