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.5.tar.gz (39.8 kB view details)

Uploaded Source

Built Distributions

bplib-0.0.5-py3.5-linux-x86_64.egg (215.9 kB view details)

Uploaded Source

bplib-0.0.5-py2.7-linux-x86_64.egg (218.8 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: bplib-0.0.5.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.2

File hashes

Hashes for bplib-0.0.5.tar.gz
Algorithm Hash digest
SHA256 56561803e83ef21a78bcb132ee8f23ed79d79fab6770a15ae8754aca90846358
MD5 aa6898e7313b17efea09a2564db80ff3
BLAKE2b-256 d4a52070f4587b79317369ced8cd79e69d64ec75d7887c53ad8475edf9d6d09b

See more details on using hashes here.

File details

Details for the file bplib-0.0.5-py3.5-linux-x86_64.egg.

File metadata

  • Download URL: bplib-0.0.5-py3.5-linux-x86_64.egg
  • Upload date:
  • Size: 215.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.2

File hashes

Hashes for bplib-0.0.5-py3.5-linux-x86_64.egg
Algorithm Hash digest
SHA256 5a46f0836333c0f2184b09617a33a7e11aa6d50ff76217216b468d3da8aeda62
MD5 c714f82c74b186cade79a6819ed1ff25
BLAKE2b-256 82b064aaf7f6418b9eddf1eab86828abb200eeb4f387861ab8e36ad233deffa0

See more details on using hashes here.

File details

Details for the file bplib-0.0.5-py2.7-linux-x86_64.egg.

File metadata

  • Download URL: bplib-0.0.5-py2.7-linux-x86_64.egg
  • Upload date:
  • Size: 218.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.2

File hashes

Hashes for bplib-0.0.5-py2.7-linux-x86_64.egg
Algorithm Hash digest
SHA256 782662aadcf59672ad7b5f53165a4210bcf27ecad6d861366cc98b769d53a09f
MD5 955ec792b83eb82910095084c5c5649a
BLAKE2b-256 ad288bcc3aedd40bd9208e21830829f05461aaca54fe5b2f72c82a129bb4751a

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