Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/essamhassan/blind-auth
Chaum–Pedersen based Passwordless Authentication
https://github.com/essamhassan/blind-auth
Last synced: about 2 months ago
JSON representation
Chaum–Pedersen based Passwordless Authentication
- Host: GitHub
- URL: https://github.com/essamhassan/blind-auth
- Owner: essamhassan
- Created: 2023-08-14T20:49:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-17T13:55:40.000Z (over 1 year ago)
- Last Synced: 2024-02-06T19:38:47.456Z (11 months ago)
- Language: Rust
- Size: 22.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![build](https://github.com/essamhassan/blind-auth/actions/workflows/build.yml/badge.svg)](https://github.com/essamhassan/blind-auth/actions/workflows/build.yml)
[![test](https://github.com/essamhassan/blind-auth/actions/workflows/test.yml/badge.svg)](https://github.com/essamhassan/blind-auth/actions/workflows/test.yml)
# Blind Auth
Chaum-Pederson Passwordless Authentication# Code structure
```
.
├── build # docker files
│ ├── prover
│ │ └── Dockerfile
│ └── verifier
│ └── Dockerfile
├── build.rs # protoc generator
├── Cargo.lock
├── Cargo.toml
├── docker-compose.yml # Docker compose setup
├── proto
│ └── blind_auth.proto # Service definition
├── README.md # <- You are here
├── src
│ ├── lib
│ │ ├── common.rs # Common libs between prover and verifier
│ │ ├── prover.rs # Prover libs
│ │ ├── public_params.rs # Public values
│ │ ├── store
│ │ │ ├── models.rs # App models
│ │ │ └── store.rs # In-memory store
│ │ ├── store.rs
│ │ └── verifier.rs # Verifier libs
│ ├── prover.rs # Prover entry point
│ └── verifier.rs # Verifier entry point
└── tests
└── verifier_tests.rs # verifier tests
```# Run
## Start containers```bash
docker-compose up
```
## Run client flow- Register
```bash
docker exec -it -e RUST_LOG=debug prover ./prover http://verifier:50051 register --client-id="clienttest"
```- Login
```bash
docker exec -it -e RUST_LOG=debug prover ./prover http://verifier:50051 login --client-id="clienttest"
```# Test
```
cargo test
```
# Pending work
- Room for optimization and performance improvement.
- Verifier code need to be more modularized, validation should be decoupled from core logic.
- e2e tests to cover 1) failure use cases 2) malicious users