Skip to content

shamsasari/zkp-auth-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Rust implementation of the Chaum-Pedersen ZKP protocol

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages