FHE
1.
Introduction
❱
1.1.
Prerequisites
1.2.
Why is a compiler needed for FHE?
2.
Sunscreen's FHE compiler
❱
2.1.
Features
2.2.
Who should use it?
2.3.
Performance
3.
Getting started
❱
3.1.
Installation
3.2.
My first FHE program
4.
What's in an FHE program?
❱
4.1.
Types
❱
4.1.1.
Signed
4.1.2.
Unsigned
4.1.3.
Fractional
4.1.4.
Rational
4.2.
How to write an FHE program
❱
4.2.1.
Factoring FHE programs
4.2.2.
Limitations
4.3.
Troubleshooting
5.
Runtime
❱
5.1.
Key generation
5.2.
Encryption
5.3.
Running FHE programs
5.4.
Decryption
5.5.
Serialization
6.
From toy programs to real life
❱
6.1.
Unified parameters
6.2.
Chaining
7.
Applications
❱
7.1.
AMMs & private token swaps
7.2.
Private information retrieval
❱
7.2.1.
Take 1
7.2.2.
Take 2
7.3.
Genomics & private tests
8.
FAQ
9.
Advanced topics
❱
9.1.
Why the BFV scheme?
9.2.
Writing even better FHE programs
❱
9.2.1.
Plaintext modulus
9.2.2.
Noise
9.2.3.
Pruning public keys
9.3.
WASM support
9.4.
Funky math: carryless arithmetic
9.5.
Batching
ZKP
10.
Introduction
❱
10.1.
A ZKP crash course
10.2.
Prerequisites
11.
Sunscreen's ZKP compiler
12.
Getting started
❱
12.1.
Installation
12.2.
My first ZKP program
13.
What's in a ZKP program?
❱
13.1.
Types
13.2.
Attributes
13.3.
Constraints
13.4.
Limitations
13.5.
Troubleshooting
14.
Compiling
15.
Runtime
❱
15.1.
Proving
15.2.
Verifying
15.3.
Serialization
16.
Applications
❱
16.1.
Private set inclusion
16.2.
Sudoku
17.
FAQ
18.
Advanced topics
❱
18.1.
Writing even better ZKP programs
❱
18.1.1.
Gadgets
18.1.2.
Constant inputs
18.1.3.
Creating ZKP types
18.2.
WASM support
FHE + ZKP
19.
Introduction
❱
19.1.
How does this work?
20.
What's in a Linked ZKP program?
❱
20.1.
Types
20.2.
Limitations
21.
Compiling
22.
Runtime
❱
22.1.
Proving
22.2.
Verifying
22.3.
Serialization
23.
Applications
❱
23.1.
Private transactions
24.
FAQ
25.
Advanced topics
❱
25.1.
Plaintext modulus
25.2.
Custom bounds
25.3.
Short discrete log proof
Light
Rust
Coal
Navy
Ayu
Sunscreen Documentation
Applications
In this section, we'll look at some less trivial ZKP programs.