Skip to main content

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

Project description

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

PyPI version and link. travis

Purpose

This library provides native Python definitions and Python libsodium wrappers for cryptographic primitives that are often used to implement oblivious pseudorandom function (OPRF) and oblivious transfer (OT) protocols.

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

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

Unit tests can be executed using nose:

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

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-0.1.0.tar.gz (4.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-0.1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: oblivious-0.1.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for oblivious-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3818c8b7cb42b01cdf3e0434d41472cdec8fcef4982acb9985ae9911665b7554
MD5 f9e86442bbde9fcdc80eea4597fb6ed3
BLAKE2b-256 59d2296963bf691564efc498e2e2809c451fa0342db4dd6667973ac3dbdf91e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oblivious-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for oblivious-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24926f710b82675e98db75f3457e7a7ee9aec3b85024eecf4259cb55148b41c4
MD5 be7674248f468921b3b33c956b63cedb
BLAKE2b-256 955e934e36df50f63744720dc5bba464c52ed31db3acfa8dd94fe95d597709a5

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