Git Product home page Git Product logo

cashlib's Introduction

ZKPDL and Cashlib

ZKPDL (Zero-Knowledge Proof Description Language) is a high-level
language designed for specifying cryptographic operations and in
particular zero-knowledge proofs.  Its corresponding interpreter will,
given a program and a set of inputs, output a proof when acting as the
prover and verify a proof when acting as the verifier.

The Cashlib library provides functionality for endorsed e-cash and
fair exchange protocols.  Classes are provided for withdrawing,
spending, and depositing e-coins, as well as for bartering for files
using an e-coin only as a placeholder.  Resolution protocols are
provided as well.

For a detailed description of this software please see our paper in
USENIX Security 2010:
  http://www.cs.brown.edu/research/brownie/usenix10.pdf

Pseudocode descriptions of the cryptographic protocols used are
available in the "doc/pseudocodes" directory.
  http://github.com/brownie/cashlib/raw/master/doc/pseudocodes.pdf

A short manual describing our language syntax can also be found in the
"doc/manual" directory.
  http://github.com/brownie/cashlib/raw/master/doc/language.pdf

These documents are still under development and should improve in the
future.

Many example programs are available in the "src/ZKP/examples" directory.

We would love to hear about your interest in ZKPDL and Cashlib.  Feel
free to contact us if you have any questions or comments!

Chris Erway <[email protected]>
Sarah Meiklejohn <[email protected]>

The Brownie Points project
[email protected]
http://www.cs.brown.edu/research/brownie/

cashlib's People

Contributors

cce avatar luciang avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.