GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - framp/zero-knowledge-node: A presentation about zero knowledge proofs in node.js

BranchesTags
Open more actions menu

Latest commit

 

History

12 Commits
12 Commits

Folders and files

NameName
Last commit message
Last commit date
keypair-auth-v2
keypair-auth-v2
 
 
keypair-auth
keypair-auth
 
 
paillier-zero-knowledge
paillier-zero-knowledge
 
 
presentation
presentation
 
 
.gitignore
.gitignore
 
 
README.md
README.md
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 

Repository files navigation

zero-knowledge-node

A presentation about zero knowledge proofs in node.js

Presentation

Introduction to Zero Knowledge Proof

Great articles to go through this and sources for the talk:

  • https://medium.com/swlh/a-zero-knowledge-proof-for-wheres-wally-930c21e55399
  • https://blog.cryptographyengineering.com/2014/11/27/zero-knowledge-proofs-illustrated-primer/
  • http://web.mit.edu/~ezyang/Public/graph/svg.html

Authentication

A demo of an authentication system using RSA keypairs to prove the user has a password, without sending the password.

  • https://github.com/framp/zero-knowledge-node/tree/master/keypair-auth

This is bad because we use the password as a source of randomness.


A demo of an authentication system using RSA keypairs to prove the user has a password, without sending the password.

  • https://github.com/framp/zero-knowledge-node/tree/master/keypair-auth-v2

The cons of this approach is that we store the keypair on the client side (which needs to be accounted for in the system).


Moral of the story: Don't roll your own crypto!

Alternatives:

  • bitwiseshiftleft/sjcl#273

Paillier Zero Knowledge

An implementation of this paper.

  • https://github.com/framp/zero-knowledge-node/blob/master/paillier-zero-knowledge/
  • https://github.com/framp/paillier-in-set-zkp (demoed code packaged as a lib)

We want to be able to encrypt a value and generate a proof that the encrypted value is among a set of valid values.

Cool things happening thanks to advancement in ZKP

  • https://getmonero.org/
  • https://z.cash/
  • https://blog.z.cash/the-design-of-the-ceremony/
  • https://blockstream.com/2018/02/21/bulletproofs-faster-rangeproofs-and-much-more.html
  • This talk :D

About

A presentation about zero knowledge proofs in node.js

framp.me/zero-knowledge-node

Resources

Readme
Activity

Stars

56 stars

Watchers

1 watching

Forks

5 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.