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

Uploaded Source

Built Distributions

bplib-0.0.6-py3.6-linux-x86_64.egg (222.8 kB view details)

Uploaded Source

bplib-0.0.6-py2.7-linux-x86_64.egg (227.2 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: bplib-0.0.6.tar.gz
  • Upload date:
  • Size: 40.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7

File hashes

Hashes for bplib-0.0.6.tar.gz
Algorithm Hash digest
SHA256 040deb52c4c5b194dcdba4c94150b9976622ca68e1d1296f17237e9d37071936
MD5 1be1f76f9acd5695e3e6e5a9210cb42e
BLAKE2b-256 20f29687045ddc885ee3a14075a1b7f2a8220fa922a80ae3ad567983f179b016

See more details on using hashes here.

File details

Details for the file bplib-0.0.6-py3.6-linux-x86_64.egg.

File metadata

  • Download URL: bplib-0.0.6-py3.6-linux-x86_64.egg
  • Upload date:
  • Size: 222.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7

File hashes

Hashes for bplib-0.0.6-py3.6-linux-x86_64.egg
Algorithm Hash digest
SHA256 89775bece3eb7beba9e42f2c4fc2975e988956def54a162f40f6acd4a415a862
MD5 ee40995dcd7c7f922451f8cb75e6d379
BLAKE2b-256 63900a6bcb9cbdbf648063fc824651f80690b372e1ab7b05c034ef6b59ab65ea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bplib-0.0.6-py2.7-linux-x86_64.egg
  • Upload date:
  • Size: 227.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7

File hashes

Hashes for bplib-0.0.6-py2.7-linux-x86_64.egg
Algorithm Hash digest
SHA256 bb1a326377f6a7ecf0ac2a7b942a66cf728d8f04f1097f5c01a2635eb9b1ed8a
MD5 794bab7f35e18b7ce88c728f54af2f48
BLAKE2b-256 0ede8aa8fece59a0486867f37b52019939831854303aea710b60e4c53c2827f6

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