1 unstable release
Uses new Rust 2024
| new 0.1.0-alpha.1 | Apr 30, 2026 |
|---|
#22 in #selection
33KB
582 lines
Attrkey (Selection-Sensitive Attribute-Based Keys)
Pure Rust implementation of a Selection-Sensitive Attribute-Based Key Derivation Scheme.
About
This crate provides a novel scheme where cryptographic keys are derived from a collection of attributes, with sensitivity to selection within the collection. A collection of attributes is first hardened using memory-hard key derivation, then organised into a keyspace from which attribute-based keys can be selected. A keyspace consists of:
- A collection of hardened attribute values derived through parallel Argon2id key derivation with per-attribute salts.
- A proof-of-work constraint parameter for annihilative pair generation.
Derived keys depend on both selected and remaining attributes of the keyspace equally. Different selections produce cryptographically independent keys, even when there is overlap in selection. An attacker with knowledge of attribute selection cannot optimise by discarding remaining attributes.
Minimum Supported Rust Version
Rust 1.85.1 or higher.
License
Licensed under the MIT License.
Dependencies
~4–5.5MB
~112K SLoC