zkp-hmac-communication-js  by zk-Call

JavaScript SDK for zero-knowledge proof (ZKP) authentication

created 1 year ago
262 stars

Top 97.8% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides a JavaScript implementation of Zero-Knowledge Proofs (ZKPs) combined with Hash-based Message Authentication Codes (HMACs) for secure authentication in messaging applications. It targets developers building privacy-preserving systems who need to verify identities or data integrity without revealing sensitive information. The core benefit is enhanced security and privacy in authentication processes.

How It Works

The system leverages Schnorr's Protocol with a state seed for ZKPs, enabling a prover to authenticate without disclosing secrets. HMACs are used in parallel to ensure message integrity and authenticity. This dual approach provides a robust framework where ZKPs handle private identity verification, and HMACs secure the communication channel against tampering.

Quick Start & Requirements

  • Install: npm install
  • Prerequisites: Node.js (version not specified, but examples use ES Modules .mjs), secp256k1 elliptic curve, sha3_256 and sha256 hashing algorithms.
  • Setup: Requires cloning the repository and running npm install. Examples are provided in .mjs format.
  • Links: Example Usage

Highlighted Details

  • Implements Non-Interactive "Zero-Knowledge" Proofs (NIZKP) for text-based secrets.
  • Integrates HMAC for data integrity and message authentication.
  • Utilizes elliptic curve cryptography (secp256k1) and SHA-3 hashing.
  • Provides core classes: ZeroKnowledge, ZeroKnowledgeParams, ZeroKnowledgeSignature, ZeroKnowledgeProof, ZeroKnowledgeData, and HMACClient.

Maintenance & Community

  • Developed by "zk-Call :)".
  • No specific community links (Discord, Slack) or roadmap are provided in the README.

Licensing & Compatibility

  • License: Not explicitly stated in the README. The repository structure suggests it might be MIT or similar, but this requires verification.
  • Compatibility: JavaScript implementation suitable for Node.js environments.

Limitations & Caveats

The README mentions that while the proofs are explained, deeper understanding requires referencing external research papers. The specific Node.js version requirement is not detailed, and the licensing is not clearly defined, which could impact commercial use.

Health Check
Last commit

9 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
3 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.