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
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
docs/INSTALLATION.mddocs/QUICKSTART.mddocs/API_REFERENCE.mddocs/FL_AGGREGATION.mddocs/PQC_WRAPPER.mddocs/CRYPTANALYSIS_REVIEW.mddocs/SECURITY_SCOPE.mddocs/PUBLIC_REPO_MANIFEST.mddocs/phase4/PHASE4_HARDENING_GUIDE.md
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b0ebef0612f6c8e855ca9141ef2a34b45b2fafd31e4930aae6f06fff56d8d7a
|
|
| MD5 |
0500718efa33a2ed8367d2e58d682c4e
|
|
| BLAKE2b-256 |
c6d7469774adea119d4dab83c5a8bd1d70a811b25cb6e5397f45bbd30def683e
|
File details
Details for the file sable_he_research-0.6.0-py3-none-any.whl.
File metadata
- Download URL: sable_he_research-0.6.0-py3-none-any.whl
- Upload date:
- Size: 156.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6376152b0884416e643dc81b4b549f61967af561628f7562bf65d680ef177ec
|
|
| MD5 |
d95a6f2923b82ff8f858da54e3f2f91e
|
|
| BLAKE2b-256 |
8eee48e2a89951d06911213cd3fd99cf5b334298334b68358846907c38de92ff
|