Skip to content

Passwordless Login using Zero-knowledge proofs

Notifications You must be signed in to change notification settings

naartjie/zkp-auth

Repository files navigation

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

About

Passwordless Login using Zero-knowledge proofs

Topics

Resources

Stars

Watchers

Forks