This crate provides traits and implementations for function secret sharing schemes.
Currently the following functions are supported:
A point function f_{x, y}
is a function which evaluates to y
on input x
, and 0 everywhere else in it's domain. We provide implementations of the following point functions:
- [[BGI18]]: the domain is
D: {0, 1}^n
and the rangeR
is some fieldF
.
An interval function f_{x, y}
is a function which evaluates to y
on input a
where a < x
, and 0 everywhere else in it's domain. We provide implementations of the following interval functions:
- [[BGI18]]: the domain is
D: {0, 1}^n
and the rangeR
is some fieldF
. Note that this scheme also supports the rangeR
being equal to any abelian groupG
, but we have not implemented this since the library we use for algebraic abstractions does not provide a trait for abelian groups.
Function Secret Sharing
Elette Boyle, Niv Gilboa, and Yuval Ishai
Eurocrypt 2015