A backend server including Key Generating Server (KGS) for zk-ABE (Zero-Knowledge Attribute-Based Encryption) system.
This project implements a backend server for a Zero-Knowledge Attribute-Based Encryption system. It includes a Key Generating Server (KGS) that handles the generation of keys required for the encryption and decryption processes.
- Key Generating Server (KGS) for zk-ABE
- REST API endpoints for key management
- Built with Rust for performance and safety
- Asynchronous handling using Tokio and Warp
- Warp: A super-easy, composable, web server framework for warp speeds.
- Serde: A framework for serializing and deserializing Rust data structures efficiently and generically.
- Tokio: An asynchronous runtime for the Rust programming language.
- Rabe: A library for attribute-based encryption schemes.
- Clone the repository:
git clone https://github.com/yourusername/zk-abe-backend.git cd zk-abe-backend
- Install Rust:
If you haven't already, install Rust using rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/env
- Build:
cargo build
- Run the server:
cargo run
- Use the following curl command to submit the policy:
curl -X POST http://localhost:3031/submit_policy \
-H "Content-Type: application/json" \
-d @policy_template.json