Skip to main content

Clean public research implementation of SABLE-HE with PQC envelope, cryptanalysis bundles, hardened KATs, and Phase 5 standardization/external-review tooling.

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.

Phase 5 external review and pre-standardization tooling

SABLE-HE v0.6.0 adds public tooling for external cryptanalysis and pre-standardization discussion:

sable-he standardization-info
sable-he standardization-readiness
sable-he assumptions-spec
sable-he parameter-template --json
sable-he review-checklist
sable-he review-package --output sable_phase5_review_package

These commands do not certify SABLE-HE. They generate review materials for independent cryptanalysis and community discussion.

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.6.0.tar.gz (155.0 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.6.0-py3-none-any.whl (156.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sable_he_research-0.6.0.tar.gz
  • Upload date:
  • Size: 155.0 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.6.0.tar.gz
Algorithm Hash digest
SHA256 2b0ebef0612f6c8e855ca9141ef2a34b45b2fafd31e4930aae6f06fff56d8d7a
MD5 0500718efa33a2ed8367d2e58d682c4e
BLAKE2b-256 c6d7469774adea119d4dab83c5a8bd1d70a811b25cb6e5397f45bbd30def683e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sable_he_research-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c6376152b0884416e643dc81b4b549f61967af561628f7562bf65d680ef177ec
MD5 d95a6f2923b82ff8f858da54e3f2f91e
BLAKE2b-256 8eee48e2a89951d06911213cd3fd99cf5b334298334b68358846907c38de92ff

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