-
Notifications
You must be signed in to change notification settings - Fork 13
/
README
40 lines (30 loc) · 1.52 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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
http://www.cs.brown.edu/research/brownie/