SPADE is an FE-based scheme that enables running selective and partial decryption queries over vectors of ciphertexts.
To see two real-world applications of SPADE please check the usescases directory.
- Curators are required to specify both the number of users and the maximum number of entries allowed for each plaintext vector. Users must encrypt their data as a vector of integers, ensuring that none of the values are zero.
- Be careful when defining the users' data vector using
make()
; this method assigns the zero value to the elements during initialization.
If you want to modify the protobuf structure, please first change the following file:
./spadeproto/spade.proto
and then run the proto compiler command as follows to generate the new protobuf files:
protoc --go_out=. --go-grpc_out=. spade.proto
go test
go test -benchtime=10x -bench=BenchmarkSpade -benchmem -run=^$