Skip to content

Latest commit

 

History

History
42 lines (29 loc) · 834 Bytes

README.md

File metadata and controls

42 lines (29 loc) · 834 Bytes

Run it

To run both client and server

docker-compose up
# if you've made some changes, rebuild the images
docker-compose up --build
# cleanup afterwards
docker-compose down

Running the tests

cargo test

gRPC

The client / server use gRPC, via the tonic library. The protocol definition is in zkp-auth.proto.

Client

Set the username and password using environment vars:

AUTH_USER=foo AUTH_PASS=7 cargo run --bin client

Server

cargo run --bin server

Next steps

  • cryptographically secure random numbers
  • timeout challenges
  • use a real database to store usernames / commits
  • experiment with a streaming gRPC API which would allow to not store the challenges, they'd be part of the stream state