Skip to main content

Trustable homomorphic computation

THC is a Python package that provides a practical framework for cost-effective trustable homomorphic computation.

It leverages the modular extension technique, which was developed to protect embedded cryptographic implementations against fault injection attacks, to ensure the integrity of a computation delegated to an untrusted third-party.

The paper describing THC has been accepted at CANS 2021. It can be found on the IACR ePrint Archive as report 2021/1118.

Installation

You can either install THC from PyPI using pip with the following command:

$ pip3 install thc

Or you can download its source code and run the following command in the root directory of the repository:

$ pip3 install .

You can check that the installation went well by running the included test demo:

$ python3 -m thc.demo.faults

Dependencies

THC depends on the pycryptodomex package to generate prime numbers.

You can probably install it using your distribution's package manager: it's the python3-pycryptodome package on Debian and derivatives.

If you choose to let pip install pycryptodomex, you will need to have some Python development packages installed as it needs to compile C extensions. On Debian and derivatives, the necessary packages are named python3-dev and python3-wheel.

Demo

In addition to the previously mentioned test demo of THC, an electronic voting software (server and client) is provided in the thc.demo.evoting package.

Please refer to its README for more information.

Metadata

Release files for thc 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for thc 0.2.4
File Size Uploaded Provenance
thc-0.2.4.tar.gz 15.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for thc 0.2.4
File Interpreter ABI Platform
thc-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 35.6 kB

Release files / thc-0.2.4.tar.gz

Download URL thc-0.2.4.tar.gz
Size 15.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f96271bbfd40f59efcf4a0d7c5e3f3aedd7781217fd5b3d556b2c3d91ee69796
BLAKE2b-256 checksum
How to use checksums
9ca3367379ce9e4756cd149f53ce515397b98711a7f5b961156c19536d2f7e77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

Release files / thc-0.2.4-py3-none-any.whl

Download URL thc-0.2.4-py3-none-any.whl
Size 19.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e6b8f2849b898debc261c9d0cc80cd7731985548e0d652e5a7bec61176ae639
BLAKE2b-256 checksum
How to use checksums
ca1d2375ee8bab1034d378b2a8f232815f9d29e12ee661e242155c105056a017
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

Security for thc 0.2.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page