This release is a pre-release and may not be stable for production use.
QyberSafe
QyberSafe is a modern C++ and Python library for integrating post-quantum cryptography into real applications. It provides modular, crypto-agile primitives for quantum-resistant key exchange, digital signatures, and hybrid encryption, built for fintech, cloud, and enterprise systems that need to stay secure against future quantum attacks.
Classical algorithms such as RSA and ECC are vulnerable to large-scale quantum computers. QyberSafe implements the NIST-standardized lattice and hash based schemes so you can defend against "harvest now, decrypt later" attacks today, with an API designed to swap algorithms as standards evolve.
Status: 0.1.0 alpha. The API is stabilizing and not yet recommended for production deployments.
Features
- One small, misuse-resistant API:
seal/openfor encryption,sign/verifyfor signatures - First-class C++17 and Python, sharing a single audited core (liboqs)
- NIST-standardized algorithms: ML-KEM (FIPS 203), ML-DSA (FIPS 204), and SPHINCS+ / SLH-DSA (FIPS 205 family)
- Hybrid encryption by default: X25519 combined with ML-KEM-768, so confidentiality holds even if one half is broken
- Self-describing, versioned key and ciphertext formats for crypto agility
- Authenticated encryption (AES-256-GCM) with optional associated data
- Security-focused: audited primitives, secure memory zeroing, no homemade cryptography
- Continuous integration on Linux and macOS, including an AddressSanitizer/UBSan build
Algorithms
| Algorithm (alias) | Type | NIST standard | Parameter sets |
|---|---|---|---|
| ML-KEM (Kyber) | Key encapsulation | FIPS 203 | ML-KEM-512 / 768 / 1024 |
| ML-DSA (Dilithium) | Signature | FIPS 204 | ML-DSA-44 / 65 / 87 |
| SPHINCS+ (SLH-DSA) | Hash-based signature | FIPS 205 family | SPHINCS+-SHA2-128s / 192s / 256s |
| Hybrid | Classical + PQC | - | X25519 + ML-KEM-768 + AES-256-GCM |
Parameter sets map to roughly 128, 192, and 256 bit security. The defaults (ML-KEM-768, ML-DSA-65) suit most workloads.
The hash-based signatures currently use liboqs' SPHINCS+-SHA2 "simple" parameter sets (the NIST round-3 submission that FIPS 205 SLH-DSA is based on). The FIPS-205 "pure" variant will be adopted once it verifies across all supported platforms in liboqs.
Installation
Python
Prebuilt wheels (no compiler required) are published for Linux, macOS (Apple Silicon), and Windows on CPython 3.9 to 3.13:
pip install qybersafe
On other platforms pip builds from the source distribution, which needs a C++17 compiler and OpenSSL (liboqs is fetched automatically).
C++
Requirements: a C++17 compiler (GCC 11+, Clang, or MSVC), CMake 3.16+, and OpenSSL. liboqs is fetched and built automatically.
git clone https://github.com/Nathandona/QyberSafe.git
cd QyberSafe
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel
ctest --test-dir build --output-on-failure
The C++ headers and library install with cmake --install build.
Quick start
C++
#include <qybersafe/qybersafe.h>
using namespace qybersafe;
int main() {
// Hybrid encryption (X25519 + ML-KEM-768)
auto enc = generate_encryption_keypair();
bytes message = {'h', 'e', 'l', 'l', 'o'};
bytes envelope = seal(enc.public_key, message);
bytes recovered = open(enc.private_key, envelope);
// Signatures (ML-DSA-65 by default)
auto signer = generate_signing_keypair();
bytes signature = sign(signer.private_key, message);
bool valid = verify(signer.public_key, message, signature);
return (recovered == message && valid) ? 0 : 1;
}
Python
import qybersafe as qs
# Hybrid encryption, with optional associated data
enc = qs.generate_encryption_keypair()
envelope = qs.seal(enc.public_key, b"Hello, post-quantum world!", aad=b"context")
assert qs.open(enc.private_key, envelope, aad=b"context") == b"Hello, post-quantum world!"
# Signatures (ML-DSA-65 by default)
signer = qs.generate_signing_keypair()
signature = qs.sign(signer.private_key, b"message")
assert qs.verify(signer.public_key, b"message", signature)
Operations raise CryptoError on failure; verify returns a bool. Keys are
opaque objects that serialize with to_bytes() / from_bytes().
Why post-quantum
A sufficiently powerful quantum computer running Shor's algorithm would break the public-key cryptography that secures most of the internet today. Attackers can already record encrypted traffic now and decrypt it later once such hardware exists, which is why long-lived secrets need quantum-resistant protection immediately. QyberSafe lets you adopt NIST PQC standards incrementally through hybrid modes, keeping classical guarantees while adding a post-quantum layer.
Roadmap
- Additional language bindings (Go, Rust, JavaScript and WebAssembly)
- TLS and SSH hybrid protocol modules
- Hardware security module (HSM) integration
- Hardware acceleration and SIMD optimizations
- Benchmark suite and formal verification of critical components
See CHANGELOG.md for release history.
Documentation
The design and wire formats are documented in SPEC.md. The test
suites are usable as examples: src/tests for C++ and
python/tests for Python. API reference can be generated with
Doxygen via cmake --build build --target docs.
Contributing
Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request, and file an issue for bugs, integration questions, or feature requests.
Security
QyberSafe is alpha software and has not undergone an independent security audit. Do not rely on it to protect production secrets yet. Report vulnerabilities privately through GitHub Security Advisories rather than through public issues.
License
Released under the MIT License.
Metadata
Release files for qybersafe 0.1.0a4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qybersafe-0.1.0a4.tar.gz | 194.2 kB | Details |
Built distributions (wheels)
Total release size: 112.9 MB
Release files / qybersafe-0.1.0a4.tar.gz
| Download URL | qybersafe-0.1.0a4.tar.gz |
|---|---|
| Size | 194.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
afe36aade2477c83f0004c21cd99a8c21e53dad7c55e32cf0ac6582aa9b84f01
|
|
BLAKE2b-256 checksum How to use checksums |
0a3dd32e773df8d372b86d3a87de1533dfcd185799e8258fae3143c8ea10d8e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp313-cp313-win_amd64.whl
| Download URL | qybersafe-0.1.0a4-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 11.2 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
25e68adf1678f0996ba06f62b032793457ecbb4baa1a827bd0c02e0b140c6a06
|
|
BLAKE2b-256 checksum How to use checksums |
b2396c624ef203e134db684e59beb054ec46a00272cf871482901b5c4847ba56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | qybersafe-0.1.0a4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f3b9e4e2116b07b53c3cf3053eef2e68e1690e990b3f0cc5f47888f35427fd9a
|
|
BLAKE2b-256 checksum How to use checksums |
aad4dfe44c119b50438614d8028c759c9d9278a95e1637ba2fcc1687b94ac01b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | qybersafe-0.1.0a4-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 11.9 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6055baf51c7f881c7731e828ec54f13b1c76d44eefeec2775387ef0b98025a46
|
|
BLAKE2b-256 checksum How to use checksums |
f9990d0dcb891dd06c5666f1b205511cec63c3a884bc43d3a48abdd96e4fc2d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp312-cp312-win_amd64.whl
| Download URL | qybersafe-0.1.0a4-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 9.4 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3c8d6cc0a3fc3672a5a28c4de9d441e5899bd087640cdd7aed0b3c09938e8c5b
|
|
BLAKE2b-256 checksum How to use checksums |
c4fb1aa31905c83eb5fa173156f7a0abf1b3ec070e8dc3f9ce91a634aadba8cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | qybersafe-0.1.0a4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.0 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f4188253146bb3664d36d8ed6491e0c055bcc51a7b694ddd6db6a9ef55333ef4
|
|
BLAKE2b-256 checksum How to use checksums |
de2c2575df882c0c804112b1ebc16881ca992e168d4bfcfad1a383c75450e3ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | qybersafe-0.1.0a4-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.6 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c9846f060d8e37508465bc78aeb17ccc42a56e6b6658d727a625eb31d716ec7b
|
|
BLAKE2b-256 checksum How to use checksums |
a1731b3d0fb0b75bb9fe161fa4eafb00e0c74af2b9f1f60e992b4806abb55a4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp311-cp311-win_amd64.whl
| Download URL | qybersafe-0.1.0a4-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 7.6 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f04105c3d30cea4e02d786e80aa1f05a6e9175ef2121ae73b50995336aa076b1
|
|
BLAKE2b-256 checksum How to use checksums |
5ff008adadd5518966ca94714677953da42c18eedb5dc74bfda0fa0e3a6ce8b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | qybersafe-0.1.0a4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.6 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
054a8e5fd3f8361a82d84489fa4ec3264811fde46d0164a7d3fe391080c1527c
|
|
BLAKE2b-256 checksum How to use checksums |
c3be634e3d3acd42b5c255cdfe80fe3335791d4f005f0b54013e2b60e7161bd6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | qybersafe-0.1.0a4-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.3 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0233a74b1ed42d2b28e72baf34fea2aa1b28f2992cce064449fc7f53fab88a4a
|
|
BLAKE2b-256 checksum How to use checksums |
ac570284bbecd1d8f1b71af11719fc3d32414f092ca1dcb0a3b702a02107c34b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp310-cp310-win_amd64.whl
| Download URL | qybersafe-0.1.0a4-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 5.8 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0d326c93081cfb77c805a6b59d70f701d9ad5dac0ef782bef51adeb50572792f
|
|
BLAKE2b-256 checksum How to use checksums |
c7ebc96d6c8d060914a501f4423f50dc7419b822194a4e8199ad67edf77e232e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | qybersafe-0.1.0a4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
01cfbb5187a26dd41dd7d2f487297184fd20aaec7425e471565a32029e2bffe8
|
|
BLAKE2b-256 checksum How to use checksums |
dfdc743a449e67d50143fe30c9aa223ef48feaf0af548cccd677b5ec80f3310f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | qybersafe-0.1.0a4-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 5.0 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1f489c5eb3b5a13c76859e993a8a85758a68508e0b047f6594764af7e1be2a54
|
|
BLAKE2b-256 checksum How to use checksums |
dabb8a4cc02022e98da1c1b890ac511198b680590340064489ef1e2d3fdaf469
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp39-cp39-win_amd64.whl
| Download URL | qybersafe-0.1.0a4-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f22ecfdd0f01f9920ed1d489b6f77ef630bf58113a1ac5858384fcf6596e19cf
|
|
BLAKE2b-256 checksum How to use checksums |
dff6d7576fda64379429ba26f3548ab5117d671482836faddaf3c3d50fb97628
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | qybersafe-0.1.0a4-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2156b3e55576967b6a79b051d5d7d5204aaf6e98c13ee9ef4826a403517cc80a
|
|
BLAKE2b-256 checksum How to use checksums |
d5516f697bd4da66a4cd3a4a763400565720fa0a5c93ace73b01daf536b0c5b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency logRelease files / qybersafe-0.1.0a4-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | qybersafe-0.1.0a4-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d75d9c78cf6c7e1f271eb437e47f25b662ec02bd7372c11e181fa528060b53b0
|
|
BLAKE2b-256 checksum How to use checksums |
d9fe0e0fa34d6112ccdc5e263f6c43e7d52eb8d27586210ab89be53764fe7c89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 31, 2026.
Transparency log