Commit Graph

76 Commits

Author SHA1 Message Date
Neil
ca552ad5c6 reduce test size to support small servers 2024-03-21 01:30:10 -07:00
Neil
4b1d45339b update python basic example 2024-03-21 01:08:28 -07:00
Neil Movva
9604fd30e1 [BLY-66] direct upload pparams (#28)
* bucket check and async setup
clients perform direct setup by default

* (python) more consistent json for internal api

all requests and response are JSON.
all binary payloads are explicitly encoded as base64
within api.py, and decoded back to bytes before leaving api.py.
User-facing code, e.g. bucket.py and bucket_service.py,
should not see base64 wrangling.

* Support async for all ops

refactor api.py to be async-first
use new asyncio loops to support non-async interface;
cannot call non-async methods from async context

* [js] update client to work with unified service
bump both versions to 0.2.1
disable npm/pypi publish except on manual workflow run

* disable request compression

* fix workflow tests

update standalone Spiral test server to use new JSON interface
2023-09-11 16:55:35 -07:00
Neil Movva
7740f75ec2 [BLY-64] Python Spiral v1, and docs
Python client: use spiral v1, add basic docs
Unify client versions at 0.2.0
Add min rustc version to all crates
2023-08-29 13:19:27 -07:00
Neil Movva
8a4854b13e bump versions to 0.1.9 (#25) 0.1.9 2023-04-24 16:42:27 -07:00
Neil Movva
191d02db06 add "release" trigger to workflows (#24)
* add "release" trigger to workflows

* remove auto-publish on release

seems to trigger incorrectly?
manual workflow_dispatch -> release is fine for now.
2023-04-20 15:59:11 -07:00
Neil Movva
3b28c30d89 Clients: add modify and clear (#23)
* add modify and clear

* test blyss service via python client
0.1.8
2023-04-20 13:31:59 -07:00
menonsamir
1f5c056c4a Bump default Spiral version (#22)
* Bump Spiral PIR version

* 0.1.8

* Fix lock
2023-04-11 15:39:52 -07:00
menonsamir
dc5366d6d5 Reduce public params, release crates (#20)
* add noise estimation

* add pub param dedup

* fix noise estimates

* add better paramset

* Make backwards compatible

* Fix CI and server

* Prepare for spiral-server crate

* update lock

* Deps

* Do prerelease

* Update dependency

* Fix version

* Deps

* More fixes

* Bump ver

* Prepare for release
2023-04-11 14:05:29 -07:00
menonsamir
537c01ac9d Add blyss-rs (#19)
* add blyss-rs

* add docs, readme, cleanup

* Clean up errors

* Prepare for publish

* Change argument orders

* Update reference to spiral-rs

* Prepare blyss-rs
2023-04-06 11:02:44 -07:00
Neil Movva
91e98674de Github Actions builds for Python client (#18)
* Setup Github Actions builds for Python client

* unify js and python releases
(triggered by github release)

* reduce build churn: run mac/win only after linux

* ignore some paths in PR build trigger

* name python builder workflow
2023-03-27 22:55:35 -07:00
Neil Movva
b77a93f43a Python client: new AsyncBucket interface (#17)
New client interface to support async usage. 
This commit implements async versions of write() and privateRead(); all other calls fall back to blocking synchronous versions.
2023-03-27 18:03:38 -07:00
menonsamir
7b655623c0 Fix Node example (#15)
* 0.1.7

* update examples (fix #14)

* Fix build

* Add crypto to bloom tests
2023-03-14 20:59:41 -07:00
menonsamir
aea24b9156 Fix local server example (#13)
* update npmignore

* 0.1.7-alpha.1

* Update local example
2023-03-14 02:03:56 -07:00
menonsamir
20e5900ed7 Add local server (#12)
* Add local server

* Fix node-local example

* Fix build
2023-03-13 16:30:21 -07:00
menonsamir
7c51219722 Add CommonJS module (#11)
* add CommonJS module

* add copy plugin
2023-03-12 16:30:05 -07:00
Samir Menon
29e718834e 0.1.6 2023-02-24 14:00:35 -08:00
Samir Menon
129834d2a0 0.1.5 2023-02-24 13:57:31 -08:00
Samir Menon
e80590c0e9 Remove debug logging 2023-02-24 13:57:20 -08:00
Samir Menon
f1130fae3d 0.1.4 2023-02-24 13:53:02 -08:00
Samir Menon
99783ca522 0.1.4-alpha.4 2023-02-21 21:44:00 -08:00
menonsamir
1cd8d24b27 Add DoublePIR support (#10)
* initial add

* fix bucket

* small fixes

* prepare for wasm

* fix derivation

* Fully working doublepir implementation

* Cleanup

* 0.1.4-alpha.0

* Fix node support and url config

* 0.1.4-alpha.1

* 0.1.4-alpha.2

* fix url fetch

* 0.1.4-alpha.3

* Start avoiding materializing pseudorandom matrices

* cleanup
2023-02-19 13:25:51 -08:00
Kobi Gurkan
df6a778f46 Fix python bucket service url (#8) 2023-02-15 12:06:18 -08:00
Neil Movva
b2968962e7 Private Valentines demo (#9)
JS Client changes:
Gracefully return null if key is not found in bucket (instead of throwing)
Support single and multi-key lookups in a unified privateRead function
2023-02-15 00:53:54 -08:00
menonsamir
9ae00d8272 Update links and getting started (#7) 2023-02-10 04:15:21 -08:00
menonsamir
726d3f4db0 Update contributors (#6)
* Update contributors

* Change color
2023-02-10 03:53:11 -08:00
menonsamir
7a4d7ebf52 Docs dark mode (#5)
* Change the docs to dark mode

* Update README
2023-02-10 03:44:39 -08:00
Samir Menon
b4fa467e3e Fix package names 2023-02-07 18:55:38 -08:00
Samir Menon
b6a71a99a8 README updates 2023-02-07 17:26:38 -08:00
Samir Menon
48e4792ca2 Initial version of homomorphic encryption SDK 2023-02-07 15:21:24 -08:00
menonsamir
c93fff0fe5 Client Improvements (#3)
- Implement the PRG seed trick, reducing the upload sizes for queries
and public parameters by 2x
- Use two RNG's, one for public uniform data and one for secret noise
- Remove type parameters from Client and DiscreteGaussian (simplifying
their implementations)
- Make Client.generate_query and associated methods only require &self,
instead of &mut self; this makes parallel query generation easier

Thanks to Prof. Ian Goldberg for his help with these changes.
They are adapted from his work, available here:
https://git-crysp.uwaterloo.ca/iang/spiral-rs-fork/commit/d6d546d
2022-08-31 17:50:31 -07:00
menonsamir
0f9bdc1570 Update README.md 2022-05-24 08:21:02 -07:00
Samir Menon
853ba1df6f Fix e2e test output bug 2022-05-19 03:20:54 +02:00
Samir Menon
74f169d8dd Update README 2022-05-19 03:05:38 +02:00
Samir Menon
31bf0df166 Add support for nu_2=0, and e2e test binary 2022-05-05 06:06:24 +02:00
Samir Menon
2274e9df9a More threading, fix tests, update README 2022-05-03 22:19:05 +02:00
Samir Menon
08972fe23b Prep to use seed for public parts of Regev cts 2022-05-02 08:13:45 +02:00
Samir Menon
c320045943 Add client state caching w/ seeding, update UI 2022-05-02 05:16:20 +02:00
Samir Menon
9205deeff9 add loading indicators, caching 2022-04-30 03:44:19 +02:00
Samir Menon
b4f3200b34 update client, support single sever executable 2022-04-30 01:14:11 +02:00
Samir Menon
ad2700b24a format 2022-04-28 23:00:49 +02:00
Samir Menon
a0b7ad0ce2 add multithreading, fix bug 2022-04-28 22:59:37 +02:00
Samir Menon
82f72c64b1 Complete support for server processing 2022-04-26 10:22:02 +02:00
Samir Menon
d3f0dbc366 cargo fmt and move 2022-04-23 19:44:48 +02:00
Samir Menon
428c521727 add database loading/preprocessing support 2022-04-23 19:40:56 +02:00
Samir Menon
e5441a23ab improve benchmarking + tests 2022-04-23 02:39:50 +02:00
Samir Menon
5131c85f4c full correct server processing! 2022-04-18 19:36:43 -07:00
Samir Menon
d0d1792532 wip 2022-04-18 17:48:03 +02:00
Samir Menon
bad75819dd add folding 2022-04-18 07:27:07 +02:00
Samir Menon
f908ead77b add first dimension processing 2022-04-18 06:28:28 +02:00