Wolfram Language
Paclet Repository
Community-contributed installable additions to the Wolfram Language
Primary Navigation
Categories
Cloud & Deployment
Core Language & Structure
Data Manipulation & Analysis
Engineering Data & Computation
External Interfaces & Connections
Financial Data & Computation
Geographic Data & Computation
Geometry
Graphs & Networks
Higher Mathematical Computation
Images
Knowledge Representation & Natural Language
Machine Learning
Notebook Documents & Presentation
Scientific and Medical Data & Computation
Social, Cultural & Linguistic Data
Strings & Text
Symbolic & Numeric Computation
System Operation & Setup
Time-Related Computation
User Interface Construction
Visualization & Graphics
Random Paclet
Alphabetical List
Using Paclets
Create a Paclet
Get Started
Download Definition Notebook
Learn More about
Wolfram Language
ZeroKnowledgeProofs
Guides
ZeroKnowledgeProofs
Tech Notes
ZeroKnowledge Authentication
zk-SANRK compilation
zkSNARK Compilation
Symbols
AnswerZeroKnowledgeQuery
CompileArithmeticCircuit
CompileQuadraticArithmeticProgram
EvaluateArithmeticCircuitSolution
GenerateZeroKnowledgePrivateSolution
GenerateZeroKnowledgeProof
GenerateZeroKnowledgeProver
GenerateZeroKnowledgeQuery
GenerateZeroKnowledgeWitness
VerifyZeroKnowledgeProof
ZeroKnowledgeCipherProblem
ZeroKnowledgeCipherSolution
ZeroKnowledgePrivateCipher
ZeroKnowledgePrivateCipher
ZeroKnowledgePrivateSolution
ZeroKnowledgePublicProblem
ZeroKnowledgePublicWitness
ZeroKnowledgeQuery
ZeroKnowledgeResponse
ZeroKnowledgeProofs
Zero-knowledge proofs (zk-Proofs) are communication protocols by which a prover can demonstrate to a verifier that it possesses a solution to a given public problem without revealing the content of the solution.
Create and verify ZeroKnowledgeProofs
G
e
n
e
r
a
t
e
Z
e
r
o
K
n
o
w
l
e
d
g
e
P
r
o
o
f
— Compile a problem into a new ZeroKnowledgeProof composed of a PublicProblem and a PrivateSolution.
Z
e
r
o
K
n
o
w
l
e
d
g
e
P
u
b
l
i
c
P
r
o
b
l
e
m
▪
Z
e
r
o
K
n
o
w
l
e
d
g
e
P
r
i
v
a
t
e
S
o
l
u
t
i
o
n
G
e
n
e
r
a
t
e
Z
e
r
o
K
n
o
w
l
e
d
g
e
W
i
t
n
e
s
s
— Cipher the PrivateSolution and PublicProblem into a list of homomorphic CipherProblems and CipherSolutions that will be shared with a verifier.
Z
e
r
o
K
n
o
w
l
e
d
g
e
C
i
p
h
e
r
P
r
o
b
l
e
m
▪
Z
e
r
o
K
n
o
w
l
e
d
g
e
C
i
p
h
e
r
S
o
l
u
t
i
o
n
V
e
r
i
f
y
Z
e
r
o
K
n
o
w
l
e
d
g
e
P
r
o
o
f
— Verify the veracity of a ZeroKnowledgeProof for a given PublicProblem based on the proof's witness.
Interactive zkProofs
G
e
n
e
r
a
t
e
Z
e
r
o
K
n
o
w
l
e
d
g
e
Q
u
e
r
y
— Ask the witness of a ZeroKnowledgeProof to retrieve either the CipherSolution or the CipherTransformation.
A
n
s
w
e
r
Z
e
r
o
K
n
o
w
l
e
d
g
e
Q
u
e
r
y
— Return the witness CipherSolution or CipherTransformation as requested by the verifier in a query.
Z
e
r
o
K
n
o
w
l
e
d
g
e
Q
u
e
r
y
▪
Z
e
r
o
K
n
o
w
l
e
d
g
e
R
e
s
p
o
n
s
e
zk-ZNARK
C
o
m
p
i
l
e
A
r
i
t
h
m
e
t
i
c
C
i
r
c
u
i
t
▪
E
v
a
l
u
a
t
e
A
r
i
t
h
m
e
t
i
c
C
i
r
c
u
i
t
S
o
l
u
t
i
o
n
▪
C
o
m
p
i
l
e
Q
u
a
d
r
a
t
i
c
A
r
i
t
h
m
e
t
i
c
P
r
o
g
r
a
m
T
e
c
h
N
o
t
e
s
▪
Z
e
r
o
K
n
o
w
l
e
d
g
e
A
u
t
h
e
n
t
i
c
a
t
i
o
n
▪
z
k
S
N
A
R
K
C
o
m
p
i
l
a
t
i
o
n
R
e
l
a
t
e
d
L
i
n
k
s
[
W
S
S
2
2
]
I
m
p
l
e
m
e
n
t
a
t
i
o
n
o
f
I
n
t
e
r
a
c
t
i
v
e
Z
e
r
o
K
n
o
w
l
e
d
g
e
p
r
o
o
f
s
p
a
c
l
e
t
▪
T
o
w
a
r
d
s
a
z
k
-
S
N
A
R
K
c
o
m
p
i
l
e
r
f
o
r
W
o
l
f
r
a
m
l
a
n
g
u
a
g
e
"
"