Skip to main content

A bilinear pairing library for petlib.

Project description

The bplib is a library implementing support for computations on groups supporting bilinear pairings, as used in modern cryptography.

It is based on the OpenPairing library by Diego Aranha (https://github.com/dfaranha/OpenPairing), which is itself based on, and compatible with, OpenSSL math functions (bn and ec). The bplib is compatible with petlib types including petlib.bn and the group G1 is a petlib.ec EC group. Along with petlib, they provide easy to use support for maths and ciphers used in modern Privacy Enhancing Technologies.”

A set of bilinear EC groups is defined as:

>>> G = bp.BpGroup()

Such a BpGroup describes 3 groups G1, G2 and GT such that pair(G1,G2)->GT. Generators for the groups G1 and G2 are denoted by:

>>> g1, g2 = G.gen1(), G.gen2()

The special pair operation computes to pairing into GT:

>>> gt = G.pair(g1, g2)

Operations are defined on all elements of G1, G2 or GT in a natural additive infix notation for G1 and G2, and a multiplicative notation for GT:

>>> gt6 = gt**6

As expected the pair operations is additive:

>>> G.pair(g1, 6*g2) == gt6
True
>>> G.pair(6*g1, g2) == gt6
True
>>> G.pair(2*g1, 3*g2) == gt6
True

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bplib-0.0.4.tar.gz (39.6 kB view details)

Uploaded Source

File details

Details for the file bplib-0.0.4.tar.gz.

File metadata

  • Download URL: bplib-0.0.4.tar.gz
  • Upload date:
  • Size: 39.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bplib-0.0.4.tar.gz
Algorithm Hash digest
SHA256 d1cb0400885f8aa3375b5226fb73738d6918790c8d5a61b6ef39fde64a9417d3
MD5 68b03c360bcd58c8854fc34493a2b306
BLAKE2b-256 3252b78bd79ec08025d4616b241beee05889b5563b9a93820ff34270102b82c6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page