How afa-amin/secureabe works
Secure Modern ABE is a Rust CP-ABE access-control system for encrypting and sharing files. Its principal workflow is to initialize a deployment, issue attribute-bound user keys, encrypt a file under a policy, store the encrypted package, and let an authorized user decrypt it; audit and revocation are supporting operations. The graph preserves the documented authority, policy, hybrid-encryption, storage, revocation, and audit capabilities. Some subsystem links rely on README statements because their runtime implementations were not excerpted.
Main entry points: main.rs CLI commands · scheme.rs CP-ABE scheme · codec.rs Key and ciphertext codec · parser.rs Policy DSL parser
Components 13
CLI operations
- CLI commands
cli/src/main.rs - Authority claims
authorities/src/lib.rs
Policy modeling
- Policy DSL parser
policy/src/parser.rs - Access tree
policy/src/tree.rs
ABE cryptography
- CP-ABE scheme
core/src/scheme.rs - ABE key models
core/src/keys.rs - Threshold sharing
core/src/share.rs - Key and ciphertext codec
core/src/codec.rs
Package and security services
- Hybrid encryption
envelope/src/lib.rs - Encrypted package storage
storage/src/lib.rs - Epoch revocation
revocation/src/lib.rs - Append-only audit
audit/src/lib.rs
Other components
- Operator
Connections 15
- Operator → CLI commands: runs commands
README.md - CLI commands → Authority claims: resolves claims
README.md - CLI commands → Policy DSL parser: parses policy
- Policy DSL parser → Access tree: builds tree
policy/src/parser.rs - CLI commands → CP-ABE scheme: sets up and issues
cli/src/main.rs - CP-ABE scheme → ABE key models: uses key types
core/src/scheme.rs - CP-ABE scheme → Threshold sharing: shares secrets
core/src/scheme.rs - CP-ABE scheme → Access tree: evaluates policies
- Key and ciphertext codec → ABE key models: encodes keys
core/src/codec.rs - Key and ciphertext codec → CP-ABE scheme: encodes ciphertext
core/src/codec.rs - Hybrid encryption → CP-ABE scheme: wraps data key
envelope/src/lib.rs - CLI commands → Hybrid encryption: seals and opens
cli/src/main.rs - CLI commands → Encrypted package storage: stores and lists
cli/src/main.rs - CLI commands → Epoch revocation: updates epochs
cli/src/main.rs - CLI commands → Append-only audit: records events
cli/src/main.rs