pub trait MultiPuncPrf<const N: usize, K, Pk, Y> {
// Required methods
fn setup<R>(&self, rng: &mut R) -> K
where R: Rng + ?Sized;
fn punc(&self, k: &K, ss: &[usize]) -> Pk;
fn eval(&self, ks: &Pk, x: usize) -> Option<Y>;
// Provided method
fn f(&self, k: &K, x: usize) -> Option<Y> { ... }
}
Expand description
MF
. API of multi-puncturable PRF.
Refers to t
-Punc-PRF with an addtional property.
$t(\cdot)$
is a fixed polynomial.
- Generic parameter
K
is for the PRF key. - Generic parameter
Pk
is for the punctured key. - Generic parameter
Y
is for$\mathcol{Y}$
. $\mathcol{X}$
is$[N]$
whereN
is the provided generic parameter.
Required Methods§
Sourcefn setup<R>(&self, rng: &mut R) -> K
fn setup<R>(&self, rng: &mut R) -> K
MF.Setup
.
Returns a description (i.e., the structure or representation) of a PRF key.
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.