mirror of
https://github.com/luxfi/crypto.git
synced 2026-10-30 16:59:13 +00:00
Brand stays in import path only; symbols, env vars, and exports are brand-neutral. One-release backwards-compat shim reads deprecated LUX_ names with deprecation log. Env: CRYPTO_BACKEND, CRYPTO_DIR, CRYPTO_BUILD_DIR, CRYPTO_LIB_DIR, CRYPTO_LIB are canonical. Rust: idiomatic Secp256k1Status enum; extern fn names dropped lux_ prefix. TS/Python: cryptoAvailable / crypto_available; FFI symbol strings drop lux_ prefix to match renamed C-ABI in luxcpp/crypto. cabi/main.go: //export names drop lux_ prefix (mlkem768_*, mldsa65_*).
23 lines
658 B
Python
23 lines
658 B
Python
"""luxcrypto — Python bindings for Lux post-quantum cryptography.
|
|
|
|
One library, one implementation. Uses libluxcrypto (Go/circl) via ctypes.
|
|
Same PQ crypto from blockchain to AI agents.
|
|
|
|
from luxcrypto import mlkem768, mldsa65
|
|
|
|
pk, sk = mlkem768.keypair()
|
|
ct, ss_enc = mlkem768.encapsulate(pk)
|
|
ss_dec = mlkem768.decapsulate(sk, ct)
|
|
assert ss_enc == ss_dec
|
|
|
|
pk, sk = mldsa65.keypair()
|
|
sig = mldsa65.sign(sk, b"hello")
|
|
assert mldsa65.verify(pk, b"hello", sig)
|
|
"""
|
|
|
|
from luxcrypto._ffi import crypto_available
|
|
from luxcrypto import mlkem768, mldsa65
|
|
|
|
__version__ = "0.1.0"
|
|
__all__ = ["mlkem768", "mldsa65", "crypto_available"]
|