A Python library implementing the Homomorphic Secret Sharing, applied for Oblivious Linear Evaluation (OLE), Vector-OLE and NxOLE
Project description
ObliviousPy-HSS
ObliviousPy-HSS is a Python library implementing Homomorphic Secret Sharing (HSS) constructions applied to Oblivious Linear Evaluation (OLE), Vector-OLE (V-OLE), and n×OLE generation, with a particular focus on silent and pre-computation–based correlation generation.
The library accompanies and implements the constructions presented in the following research paper.
📄 Related Paper
Deal out oblivious correlations: 2-depth HSS circuit for silent V-OLE generation Davide Cerutti, Stelvio Cimato Cryptology ePrint Archive, Paper 2026/104
🔗 Paper link (IACR ePrint): https://eprint.iacr.org/2026/104
🧾 Abstract
We analyzed in depth the Homomorphic Secret Sharing construction applied for Pseudorandom Correlation Function, and we obtained interesting results for various applications.
In this paper, we discuss how the PCF can be achieved using the Damgård–Jurik HSS schema by solving the distance function over a ciphertext parametric space of (\mathbb{Z}^*_{n^{\xi+1}}), performing the distributed multiplication protocol as the base building block for our PCF.
We created a weak PCF for Vector-OLE via 1-depth HSS circuit; furthermore, via what we called pre-computation with RO-less, we achieved a strong PCF for V-OLE between two parties correct against an honest-but-curious adversary (\mathcal{A}{hbc}) and fail-safe secure against an active adversary (\mathcal{A}{poly}).
We also extended our main construction by describing a silent approach in two different ways: a semi-silent variant based on a pre-sampling assumption between the parties, and a true-silent protocol execution exploiting the generation of seeds by a PRF.
As a final step, we discuss how to build an (n \times \text{OLE}) generator via our pre-computation session to craft an arbitrary amount of OLE correlation.
Our entire paper is further verified by the implementation of a complete and exhaustive library covering all HSS operations, publicly accessible and usable via pip install obliviouspy-HSS and importing import oblivious.
📚 Citation
If you use this library in your research, please cite our paper:
@misc{cryptoeprint:2026/104,
author = {Davide Cerutti and Stelvio Cimato},
title = {Deal out oblivious correlations: 2-depth {HSS} circuit for silent V-{OLE} generation},
howpublished = {Cryptology {ePrint} Archive, Paper 2026/104},
year = {2026},
url = {https://eprint.iacr.org/2026/104}
}
🚀 Installation
You can install the library directly from PyPI:
pip install obliviouspy-HSS
🧑💻 Quick Start
After installation, simply import the library in Python:
import oblivious
The package exposes the core primitives and utilities required to construct and experiment with HSS-based circuits, following the designs described in the paper.
📓 Examples & Notebooks
The repository includes Jupyter notebooks demonstrating the main use cases:
- V-OLE generation using HSS-based PCF constructions
- n×OLE generation via a pre-computation phase, showing how to craft an arbitrary amount of OLE correlations
These notebooks are intended both as executable examples and as a companion to the theoretical constructions presented in the paper.
📦 PyPI Package
The official PyPI page is available at:
https://pypi.org/project/obliviouspy-HSS/
📜 License
This project is released under the MIT License.
See the LICENSE file for full details.
🎯 Notes
This library is primarily intended for research and experimental purposes. While care has been taken to faithfully implement the constructions, it is not designed for production deployment without further hardening and independent security review.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file obliviouspy_hss-1.1.1.tar.gz.
File metadata
- Download URL: obliviouspy_hss-1.1.1.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59204e8e2b2c2ba5f96c89637ea2f618b61ded4a8a2ab136090f5ab8b83c761d
|
|
| MD5 |
307f0019078ddcc92518d754c8357d73
|
|
| BLAKE2b-256 |
1c9eb86cda665b0a8630b786427ff03ee6da6d89ca476dde519071845da9dbef
|
File details
Details for the file obliviouspy_hss-1.1.1-py3-none-any.whl.
File metadata
- Download URL: obliviouspy_hss-1.1.1-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c6ef2ab1c2731fed8396e6f477533d155d459ff8f2ff1b3957987a51e8f822f
|
|
| MD5 |
0bf317160bb9ae43e200d1bf18320e5c
|
|
| BLAKE2b-256 |
8426b654079ffbbe757054c8f777093108eccef25c4989d5f0c9aaf15239c169
|