35 lines
946 B
Markdown
35 lines
946 B
Markdown
# ZKAC
|
|
|
|
**Zero-Knowledge Access Control** — BBS+ anonymous credentials on BLS12-381 with an encrypted session layer (X25519, ChaCha20-Poly1305, replay protection).
|
|
|
|
## Documentation
|
|
|
|
- **[Python API](docs/PYTHON_API.md)** — types and usage for `import zkac`
|
|
- **[Security model](docs/SECURITY.md)** — threat model, assumptions, operational guidance
|
|
- **[Fuzzing](docs/FUZZING.md)** — `cargo-fuzz` harnesses
|
|
|
|
## Rust
|
|
|
|
```toml
|
|
[dependencies]
|
|
zkac = { path = "..." }
|
|
```
|
|
|
|
Public API highlights: `zkac::Node`, `zkac::Credential`, `zkac::RoleRegistry`, `zkac::IssuerKeyPair`, `zkac::MAX_BBS_AUTH_PROOF_BYTES`.
|
|
|
|
## Python
|
|
|
|
Requires Rust toolchain and [maturin](https://www.maturin.rs/).
|
|
|
|
```bash
|
|
uv venv && source .venv/bin/activate
|
|
maturin develop --features python
|
|
python -c "import zkac; print(zkac.role_id('admin').hex())"
|
|
```
|
|
|
|
Run tests: `cargo test` and `pytest tests/test_zkac.py`.
|
|
|
|
## License
|
|
|
|
See repository license file (if present).
|