aigis-enc-binding
Rust bindings for the PQMagic AIGIS-ENC implementation (KEM + tagged KEM/TKEM).
This crate compiles the upstream C implementation with cc and exposes:
- Low-level FFI-style wrappers (
aigis_enc_*,aigis_tkem_*) - A safe high-level API (
AigisEnc)
Features
Choose one parameter set at compile time:
params-1params-2(default)params-3params-4
Example:
Quick Start
use ;
Public API
AigisEnc::keypair()AigisEnc::encapsulate(pk)AigisEnc::decapsulate(ct, sk)AigisEnc::encapsulate_with_tag(pk, tag)AigisEnc::decapsulate_with_tag(ct, sk, tag)
Constants:
CRYPTO_PUBLICKEYBYTESCRYPTO_SECRETKEYBYTESCRYPTO_CIPHERTEXTBYTESCRYPTO_BYTESCRYPTO_TKEM_TAGBYTESPARAMS
Build Notes
- The crate contains vendored C sources under
vendor/pqmagicso it can be packaged and published. - On Windows, the build links
advapi32for system randomness.
License
Apache-2.0