Skip to main content

Clean public research implementation of SABLE-HE, a post-quantum code/LPN-based leveled homomorphic-encryption toolkit for encrypted federated aggregation and independent cryptanalysis review.

Project description

SABLE-HE Research

PyPI Python License: MIT

SABLE-HE Research is a clean public research implementation of SABLE-HE, a post-quantum code/LPN-based leveled homomorphic-encryption toolkit for low-degree encrypted arithmetic, encrypted federated aggregation, PQC envelope integration, and independent cryptanalysis review.

This repository intentionally excludes private working artifacts such as LaTeX paper folders, PDFs, generated experiment logs, rendered pages, local notebooks, and old internal build debris.

Status

SABLE-HE Research is suitable for research experiments, API exploration, encrypted FedAvg-style aggregation demos, and independent cryptanalysis. It is not a certified cryptographic module and does not ship certified secure parameter sets. Read SECURITY.md before using the package.

Install

python -m pip install sable-he-research

From source:

git clone https://github.com/rtqayyum/sable-he-research.git
cd sable-he-research
python -m pip install -e ".[dev,numpy]"
python -m pytest -q

Quick encrypted FedAvg example

from sable import PRESETS, keygen_sable
from sable.fl import EncryptedFLAggregator

params = PRESETS["fl_demo_clean"]
kp = keygen_sable(params, seed=123, mode="coordinate")
agg = EncryptedFLAggregator(kp, scale=1000, seed=9000)

client_weights = [
    [0.12, -0.34, 1.20],
    [0.10, -0.30, 1.25],
    [0.20, -0.40, 1.10],
]
sample_counts = [80, 20, 100]

encrypted_clients = [
    agg.encrypt_model(weights, seed=1000 + i)
    for i, weights in enumerate(client_weights)
]

server_result = agg.fedavg(encrypted_clients, sample_counts)
final_weights = agg.decrypt_model(server_result)
print(final_weights)  # [0.158, -0.366, 1.155]

CLI

sable-he --version
sable-he fl-demo
sable-he pqc-info
sable-he cryptanalysis-info
sable-he cryptanalysis-bundle --output review_bundle
sable-he hardening-info
sable-he kat-verify vectors/phase4
sable-he release-check .
sable-he self-test

Main modules

  • sable.operations: encrypted arithmetic and Boolean-gate helpers.
  • sable.fl: encrypted and plaintext/decrypt-side federated aggregation utilities.
  • sable.pqc: backend-neutral PQC envelope format and provider interface.
  • sable.cryptanalysis: public attack-surface reports and review bundles.
  • sable.phase4: KATs, public repo hygiene, and release-engineering checks.

Documentation

What is intentionally not in this public repository

  • LaTeX manuscript folders and paper PDFs.
  • Rendered paper pages and figure-generation scratch folders.
  • Private notes, unpublished drafts, and local notebooks.
  • Generated experiment logs and large generated CSV/JSON dumps.
  • Old distribution files and local build outputs.
  • API tokens, keys, secrets, or deployment credentials.

Citation

Use CITATION.cff or docs/CITATION.md.

License

MIT License. See LICENSE.

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

sable_he_research-0.5.0.tar.gz (146.3 kB view details)

Uploaded Source

Built Distribution

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

sable_he_research-0.5.0-py3-none-any.whl (150.9 kB view details)

Uploaded Python 3

File details

Details for the file sable_he_research-0.5.0.tar.gz.

File metadata

  • Download URL: sable_he_research-0.5.0.tar.gz
  • Upload date:
  • Size: 146.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for sable_he_research-0.5.0.tar.gz
Algorithm Hash digest
SHA256 11ec47207716bd89ddf6b3be9882270f77500683387a465fa6ce076b65626f6e
MD5 c823769cf84fa67a7506b7c464c4c035
BLAKE2b-256 47be022328822bcac5e4ccbc85655eadf3935ce88da715a50bd2756ffb619d4c

See more details on using hashes here.

File details

Details for the file sable_he_research-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sable_he_research-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f05f8d327f779e8a110b87e3a7a68715010416186e1bf12683b18159d2e15e3f
MD5 c6f4328add622858f18b0053cb761066
BLAKE2b-256 0bb55a7ff42fd7608d4c35de862017f119112b96d8d0592b3401f172f47890b8

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