Skip to main content

Python library that serves as an API for common primitives used to implement OPRF, OT, and PSI protocols.

Project description

Python library that serves as an API for common primitives used to implement OPRF, OT, and PSI protocols.

PyPI version and link. travis coveralls

Purpose

This library provides native Python implementations, Python libsodium wrappers, and additional utility methods for cryptographic primitives that are often used to implement oblivious pseudorandom function (OPRF), oblivious transfer (OT), and private set intersection (PSI) protocols.

For more information and background about the underlying mathematical structures and primitives, consult materials about Curve25519, the Ristretto group, and the related Ed25519 system.

Package Installation and Usage

The package is available on PyPI:

python -m pip install oblivious

The library can be imported in the usual ways:

import oblivious
from oblivious import *

Testing and Conventions

All unit tests are executed and their coverage is measured when using nose (see setup.cfg for configuration details):

nosetests

Concise unit tests are implemented with the help of fountains and new reference bit lists for these tests can be generated in the following way:

python test/test_oblivious.py

Style conventions are enforced using Pylint:

pylint oblivious test/test_oblivious

Contributions

In order to contribute to the source code, open an issue or submit a pull request on the GitHub page for this library.

Versioning

Beginning with version 0.1.0, the version number format for this library and the changes to the library associated with version number increments conform with Semantic Versioning 2.0.0.

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

oblivious-3.0.1.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oblivious-3.0.1-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file oblivious-3.0.1.tar.gz.

File metadata

  • Download URL: oblivious-3.0.1.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.1 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.0

File hashes

Hashes for oblivious-3.0.1.tar.gz
Algorithm Hash digest
SHA256 2681b411ca0aaa7b0638d6f5b6e969c3723be7516e6344027f30a0b7f06c8f8b
MD5 83283fca8482d97daa228b999050a460
BLAKE2b-256 069c88160dcfb91933399f00168231b2784df09f59ff681d68fac6d6fde3d45e

See more details on using hashes here.

File details

Details for the file oblivious-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: oblivious-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.1 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.0

File hashes

Hashes for oblivious-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0fba40b811a6575037c798aff178a4878d23496d60893c9bd2c444e3ba0d7450
MD5 a332f79b605a1dcdd648e4b54ebaa18c
BLAKE2b-256 89e944fb93fe612b88cf600a3bec8392a90106c25ea6c4001d3692481b386790

See more details on using hashes here.

Supported by

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