Trait paillier_zk::IntegerExt
source · pub trait IntegerExt: Sized {
// Required methods
fn gen_invertible<R: RngCore>(modulo: &Self, rng: &mut R) -> Self;
fn combine(
&self,
l: &Self,
le: &Self,
r: &Self,
re: &Self
) -> Result<Self, BadExponent>;
fn to_scalar<C: Curve>(&self) -> Scalar<C>;
fn curve_order<C: Curve>() -> Self;
fn from_rng_pm<R: RngCore>(range: &Self, rng: &mut R) -> Self;
fn is_in_pm(&self, range: &Self) -> bool;
fn signed_modulo(&self, n: &Self) -> Self;
}
Required Methods§
sourcefn gen_invertible<R: RngCore>(modulo: &Self, rng: &mut R) -> Self
fn gen_invertible<R: RngCore>(modulo: &Self, rng: &mut R) -> Self
Generate element in Zm*. Does so by trial.
sourcefn combine(
&self,
l: &Self,
le: &Self,
r: &Self,
re: &Self
) -> Result<Self, BadExponent>
fn combine( &self, l: &Self, le: &Self, r: &Self, re: &Self ) -> Result<Self, BadExponent>
Compute l^le * r^re modulo self
sourcefn curve_order<C: Curve>() -> Self
fn curve_order<C: Curve>() -> Self
Returns prime order of curve C
sourcefn from_rng_pm<R: RngCore>(range: &Self, rng: &mut R) -> Self
fn from_rng_pm<R: RngCore>(range: &Self, rng: &mut R) -> Self
Generates a random integer in interval [-range; range]
sourcefn signed_modulo(&self, n: &Self) -> Self
fn signed_modulo(&self, n: &Self) -> Self
Returns self smod n
For odd n
, result is in {-n/2, .., n/2}
. For even n
, result is in
{-n/2, .., n/2 - 1}
Object Safety§
This trait is not object safe.