Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Solthodox/zkp-auth

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZKP Authentication Server

GitHub License GitHub Stars GitHub Forks GitHub Issues

Overview

This project demonstrates a server authentication application using Zero-Knowledge Proof (Chaum-Pedersen protocol) implemented in Rust. It uses the gRPC protocol for communication between the client and server. Zero-Knowledge Proof (ZKP) is a cryptographic technique that allows one party (the prover) to prove to another party (the verifier) that they possess knowledge of a secret without revealing the secret itself.

Features

  • User registration with ZKP
  • Authentication challenge generation
  • Solution verification
  • Secure communication with gRPC
  • Chaum-Pedersen protocol implementation

Getting Started

Prerequisites

  • Rust: Make sure you have Rust installed. You can download it from rustup.rs.
  • Protocol Buffers: Ensure that you have Protocol Buffers (protoc) installed. You can download it from Protocol Buffers.

Building and Running

  1. Clone this repository to your local machine:

    git clone https://github.com/solthodox/zkp-auth.git
    cd zkp-auth
  2. Build the project:

    cargo build --release
  3. Start the server:

    cargo run --bin server
  4. In a separate terminal, run the client:

    cargo run --bin client

Usage

  1. When running the client, you will be prompted to enter a username and a password (x).
  2. The client will register the user with the server using the Chaum-Pedersen protocol.
  3. It will then request an authentication challenge from the server.
  4. After receiving the challenge, the client will verify the solution and log in if successful.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Chaum-Pedersen protocol authentication server

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.