Skip to main content

iden-q-post-quantum (Python) — generated by iqcgen 1.1.0

Do not edit these sources. They are compiled from the IdenQ Crypto IR in specs/ and regenerated with iqcgen generate. Cross-language byte parity is the property this package exists to guarantee; hand edits silently break it.

Requires: CPython 3.10-3.13 from source; the published wheel is bytecode, so one wheel per minor version.

pip install ./dist/python

Passphrase-rooted hybrid post-quantum secret encryption (cipher_payload v2)

A passphrase is stretched with Argon2id into a master key; an ML-KEM-768 keypair is derived deterministically from that master key (so nothing has to be stored or synced); encapsulating to it yields a post-quantum shared secret which is mixed with a symmetric KEK to wrap a random per-secret data key. An attacker needs the passphrase — breaking ML-KEM alone, or recording traffic today to decrypt after a quantum computer exists, does not help.

from iden_q_post_quantum import (encrypt, decrypt)
  • encrypt(plaintext: string, passphrase: string) — Encrypt a secret under a passphrase.
  • decrypt(payload: struct, passphrase: string) — Decrypt a payload with the passphrase that produced it.

Hybrid X25519 + ML-KEM-768 public-key envelope (login_envelope v1)

Seals a short credential to a recipient's static hybrid public key. Classical and post- quantum defence in depth: an interceptor who strips TLS must break BOTH X25519 and ML- KEM-768 to recover the key-encryption key, and neither alone is enough. The recipient opens it with the matching private keys.

from iden_q_post_quantum import (seal, unseal, derive_recipient_keys)
  • seal(plaintext: bytes, recipient_x_pk: bytes, recipient_mlkem_ek: bytes) — Seal a plaintext to a recipient's static hybrid public key.
  • unseal(envelope: struct, x_sk: bytes, mlkem_dk: bytes) — Open an envelope with the recipient's private keys.
  • derive_recipient_keys(seed: bytes) — Derive a recipient key set deterministically from a 96-byte seed.

ML-DSA-44 detached signature (mldsa_signature v1)

Post-quantum digital signatures (FIPS 204, ML-DSA-44). A signer derives a key pair deterministically from a seed and signs a message; a verifier checks the signature against the pinned public key and fails closed on anything that does not verify. Pure ML-DSA with an empty context string, so the signing input is the message itself — the shape a JWS ML-DSA-44 assertion needs.

from iden_q_post_quantum import (derive_signing_keys, sign, verify)
  • derive_signing_keys(seed: bytes) — Derive a signing key pair deterministically from a 32-byte seed.
  • sign(sk: bytes, message: bytes) — Sign a message with a signing key.
  • verify(signed: struct, pk: bytes) — Verify a signed message against a pinned verification key.

Licence

IdenQ Proprietary Licence. See LICENSE — this software is licensed, not sold. Third-party components keep their own terms; see THIRD-PARTY-NOTICES.md.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

iden_q_post_quantum-1.1.0-cp313-none-any.whl (20.8 kB view details)

Uploaded CPython 3.13

iden_q_post_quantum-1.1.0-cp312-none-any.whl (20.7 kB view details)

Uploaded CPython 3.12

iden_q_post_quantum-1.1.0-cp311-none-any.whl (21.9 kB view details)

Uploaded CPython 3.11

File details

Details for the file iden_q_post_quantum-1.1.0-cp313-none-any.whl.

File metadata

File hashes

Hashes for iden_q_post_quantum-1.1.0-cp313-none-any.whl
Algorithm Hash digest
SHA256 bd2091cffb25efe629ede6fccfb39cdec6082e5d26051aa951f7f52e5d20ec13
MD5 e6f78eeac1f31dca89cd689f145f582e
BLAKE2b-256 0fac913517aff4cfa7bd0ab1a89ab32c2e14f717e283d81343ec23df571e1fac

See more details on using hashes here.

Provenance

The following attestation bundles were made for iden_q_post_quantum-1.1.0-cp313-none-any.whl:

Publisher: release.yml on iden-q/iden-q-post-quantum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iden_q_post_quantum-1.1.0-cp312-none-any.whl.

File metadata

File hashes

Hashes for iden_q_post_quantum-1.1.0-cp312-none-any.whl
Algorithm Hash digest
SHA256 5db896d943fce8dd03dd3436dbf12151c144a25f3c925f115f6993d0cb8734fd
MD5 eca8ffb0620f929fc2c63e6ec7322300
BLAKE2b-256 4c213c787673e0a6c2ea1c5710394938e90942efe7fc868640c4ddae2836a88d

See more details on using hashes here.

Provenance

The following attestation bundles were made for iden_q_post_quantum-1.1.0-cp312-none-any.whl:

Publisher: release.yml on iden-q/iden-q-post-quantum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iden_q_post_quantum-1.1.0-cp311-none-any.whl.

File metadata

File hashes

Hashes for iden_q_post_quantum-1.1.0-cp311-none-any.whl
Algorithm Hash digest
SHA256 7aae3f0c942fc16e923fac5b1d23276e5338049c0ac3cb40bb0d11f94f58b3d4
MD5 f2710d383e3947ee7fe3d9fcb257ce43
BLAKE2b-256 3b36c2ae2be37c81596533a2782c1ba83444d71887c6a0bcfa665445a515e75d

See more details on using hashes here.

Provenance

The following attestation bundles were made for iden_q_post_quantum-1.1.0-cp311-none-any.whl:

Publisher: release.yml on iden-q/iden-q-post-quantum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.2.0

3 files

This release

1.1.0 This release

3 files

1.0.3

3 files

1.0.2

3 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page