Skip to content

Latest commit

 

History

History
44 lines (29 loc) · 1.11 KB

README.md

File metadata and controls

44 lines (29 loc) · 1.11 KB

ZKP Authentication

A simple authentication server which allows a client to authenticate with a server without having to send its password. This is done by using the Chaum-Pedersen ZKP protocol.

Building

gRPC is used for communication, which will require the protobuf compiler to build the project. On Debian systems this can be installed with:

sudo apt-get install protobuf-compiler
cargo build --release

Running the server

Chaum-Pedersen requires parameters which are shared between the server and client. In this implementation, the server reads them in via a config file, and sends them to the client.

This repo has a sample config file with parameters taken from RFC 5114.

./target/release/server 127.0.0.1:5000 rfc_5114_params.toml 

Running the client

First register a new user:

./target/release/client http://127.0.0.1:5000 register

Enter a username and password at the prompt.

To authenticate and receive a session token:

./target/release/client http://127.0.0.1:5000 authenticate