45 Commits

Author SHA1 Message Date
Sam Tay
9b4de3ca09 Fix missing version in dependencies (#306)
* Fix missing version in dependencies

* Fix crates.io metadata
2023-08-22 22:27:47 -04:00
Sam Tay
cbbe0bafbe Bump all versions to 0.8.0 (#305) 2023-08-22 19:40:54 -04:00
Ryan Orendorff
e90c11910c Add deterministic encryption (#303)
* Add deterministic encryption

* Add deterministic encryption flag, runtime

* Fix clippy

* Address PR comments
2023-08-21 17:57:43 -06:00
rickwebiii
480453fe13 Update dependencies (#296)
Update dependencies
2023-08-04 22:44:23 -07:00
rickwebiii
641bf96bd4 Rweber/deps (#295)
Move all deps to [workspace.dependencies]
2023-08-04 17:23:06 -07:00
rickwebiii
7049199a29 Rweber/zq (#293)
Add Barret reduction for Ring type
2023-08-04 14:36:32 -07:00
Sam Tay
badb8f9c8f ZKP tweaks (#279)
* Export type alias for bulletproof backend fields

Also, keep bulletproof stuff namespaced to a `bulletproofs` module.

* Change sudoku to use pub over const

* Docs updates

* Rename / clean up sudoku

* Export `Proof` type

Basically required for being able to deserialize a proof

* Add zkp/serde workspace example

* Drive by cleaning

* Exports necessary for gadget impls

* Rename compute_inputs to compute_hidden_inputs

* Add prove/verify builders

* Export the builder types

This isnt strictly necessary but it would be weird for these to not show up in the cargo docs

* Clippy fix

* Add helper .compile() & .runtime() methods to fhe prog fns

I do wonder if these should be defined in a separate trait, just so that they don't live next to the more internal functions in documentation.

* Use new swag to simplify the front-facing api docs example

* Add some whitespace

* Switch to an extension trait

* Add an extension to ZkpProgramFn

* Take an owned ZkpBackend, rather than reference

Its typical to have the caller handle cloning, rather than taking a reference, requiring Clone impl, and forcing clone. Plus, as of now the only backend is a zero size null struct, so nothing to be gained by using a reference. It also just looks weird to always pass `&BulletproofsBackend::new()`

* Update sudoku to use new swag

* Target second attribute in multi attribute error

* Enforce ordering zkp inputs: constants,public,private

Honestly this feels a little unnatural to me. Might want to reverse: private, public, constant and then change all the prove/verify methods to that ordering

* Build whitelist example in CI

* Reorder constant->public->private to private->public->constant

* Fix trailing ws

* Fix example

* Make .runtime() more consistent with .compile()

* Get rid of some boilerplate impls

* Add custom zkp type example

* Move example run checks into example tests

Should speed up CI a bit

* Change whitelist -> allowlist
2023-07-18 15:15:51 -04:00
Ryan Orendorff
95721487a8 Mixed bounds in logproof (#276)
This enables some small performance increase for smaller proofs (up to approximately 75%). Additionally this enables the prover and verifier to agree on which components may or may not be interesting by specifying a
bounds of zero.
2023-07-07 12:37:12 -06:00
Sam Tay
680d475d7d Glob all examples as workspace members 2023-03-29 10:08:52 -07:00
rickwebiii
55dfdda88c Rweber/zkp (#220)
WebGPU implementation WIP
2023-03-05 16:39:31 -08:00
rickwebiii
ee830d6d70 Rweber/zkp (#215)
Bring logproofs into monorepo
2023-02-17 14:44:03 -08:00
rickwebiii
48ebc52576 Rweber/zkp (#211)
Metal GPU accelerated scalar multiplication
2023-02-16 14:31:55 -08:00
rickwebiii
a8be112cb8 Randomness range proof in R1CS now correct (#208)
* Randomness range proof now correct
2023-01-25 11:06:13 -08:00
rickwebiii
d03207e67e Rweber/zkp (#196)
Add BFV playground, Polynomial addition
2022-12-19 12:00:23 -08:00
rickwebiii
28ea71118f Rweber/zkp (#185)
Start ZKP compiler and refactor common code.
2022-11-15 12:43:04 -08:00
rickwebiii
390a27b1cd Refactor some code to be shared (#184)
* Refactor some code to be shared

* Kill warnings

* Regenerate launch.json

* Add documentation

* CR comments

* Fix doc issues

* cargo fmt

* CR comments

* CR comments

* Fix warning

* argh clippy
2022-11-11 15:56:09 -08:00
rickwebiii
18c9b62b1d Add mean_variance example 2022-08-09 14:38:13 -07:00
rickwebiii
2e70480e63 Add benchmark (#163) 2022-08-04 11:48:02 -07:00
rickwebiii
17ea255f4e Add playground, rename seal->seal_fhe 2022-05-16 16:09:07 -07:00
Rick Weber
68ea6e30f8 Add Rust playground 2022-05-02 16:41:59 -07:00
Rick Weber
a323229243 WIP 2022-05-02 12:05:08 -07:00
Rick Weber
6387e52acd Move SEAL bench to seperate repo 2022-04-25 10:33:16 -07:00
Rick Weber
fb6f405206 WASM WIP 2022-04-21 14:31:37 -07:00
Rick Weber
0c9e23b573 Add PIR example 2022-04-13 09:59:30 -07:00
Rick Weber
01ee12d7f5 AMM example works 2022-03-23 11:39:45 -07:00
Rick Weber
5639f3c16b Rename sunscreen_compiler to sunscreen 2022-03-22 14:29:35 -07:00
Rick Weber
1caf1310e0 Remove emsdk 2022-02-28 14:22:39 -08:00
Rick Weber
37f9167f04 Rename circuit WIP 2022-02-01 16:20:06 -08:00
Rick Weber
904d34e3b2 Fix relin bug. Add chi squared example 2022-01-28 19:32:38 -08:00
Rick Weber
70fcb61c2a Insert relinearizations after multiply_plaintex 2022-01-28 10:10:20 -08:00
Rick Weber
62a3e7926b fractonal calculator 2022-01-25 13:44:54 -08:00
Rick Weber
cbc3ab05b8 Add seal benchmarking program 2022-01-07 13:03:58 -08:00
Rick Weber
845ac273e8 WIP 2021-12-15 11:16:32 -08:00
Rick Weber
aff5d5802f Refactor, add TypeName trait and derive macro 2021-12-09 13:41:12 -08:00
Rick Weber
9a25a9dc4c rename sunscreen_frontend to sunscreen_compiler 2021-12-06 13:42:08 -08:00
Rick Weber
41c17c5445 Add example 2021-12-03 18:40:44 -08:00
Rick Weber
1d0680c701 Build SEAL with WASM 2021-12-02 13:56:11 -08:00
Rick Weber
2875b150a7 fmt 2021-11-30 15:23:57 -08:00
Rick Weber
886610548d Macro WIP 2021-11-29 16:34:22 -08:00
Rick Weber
eb58235062 Add shift left/right to runtime 2021-11-23 12:27:22 -08:00
Rick Weber
1dfb3e80bf Fix minor doc issues, rename IR to Circuit 2021-11-23 11:37:49 -08:00
Rick Weber
014b1d260e rename backend compiler, add validation 2021-11-22 14:22:47 -08:00
Rick Weber
1bce2548ac Rejigger library composition 2021-11-17 15:09:00 -08:00
Rick Weber
fc77765760 Add graph traversal 2021-11-16 17:17:31 -08:00
Rick Weber
a06fee5a66 Initial commit 2021-11-03 17:24:20 -07:00