Struct halo2curves::secp256k1::Secp256k1
source · [−]Fields
x: Fp
y: Fp
z: Fp
Implementations
Trait Implementations
sourceimpl<'a, 'b> Add<&'a Secp256k1> for &'b Secp256k1Affine
impl<'a, 'b> Add<&'a Secp256k1> for &'b Secp256k1Affine
sourceimpl<'a, 'b> Add<&'a Secp256k1Affine> for &'b Secp256k1
impl<'a, 'b> Add<&'a Secp256k1Affine> for &'b Secp256k1
sourceimpl<'b> Add<&'b Secp256k1> for Secp256k1Affine
impl<'b> Add<&'b Secp256k1> for Secp256k1Affine
sourceimpl<'b> Add<&'b Secp256k1Affine> for Secp256k1
impl<'b> Add<&'b Secp256k1Affine> for Secp256k1
sourceimpl<'a> Add<Secp256k1> for &'a Secp256k1Affine
impl<'a> Add<Secp256k1> for &'a Secp256k1Affine
sourceimpl Add<Secp256k1> for Secp256k1Affine
impl Add<Secp256k1> for Secp256k1Affine
sourceimpl<'a> Add<Secp256k1Affine> for &'a Secp256k1
impl<'a> Add<Secp256k1Affine> for &'a Secp256k1
sourceimpl Add<Secp256k1Affine> for Secp256k1
impl Add<Secp256k1Affine> for Secp256k1
sourceimpl<'b> AddAssign<&'b Secp256k1> for Secp256k1
impl<'b> AddAssign<&'b Secp256k1> for Secp256k1
sourcefn add_assign(&mut self, rhs: &'b Secp256k1)
fn add_assign(&mut self, rhs: &'b Secp256k1)
Performs the
+=
operation. Read moresourceimpl<'b> AddAssign<&'b Secp256k1Affine> for Secp256k1
impl<'b> AddAssign<&'b Secp256k1Affine> for Secp256k1
sourcefn add_assign(&mut self, rhs: &'b Secp256k1Affine)
fn add_assign(&mut self, rhs: &'b Secp256k1Affine)
Performs the
+=
operation. Read moresourceimpl AddAssign<Secp256k1> for Secp256k1
impl AddAssign<Secp256k1> for Secp256k1
sourcefn add_assign(&mut self, rhs: Secp256k1)
fn add_assign(&mut self, rhs: Secp256k1)
Performs the
+=
operation. Read moresourceimpl AddAssign<Secp256k1Affine> for Secp256k1
impl AddAssign<Secp256k1Affine> for Secp256k1
sourcefn add_assign(&mut self, rhs: Secp256k1Affine)
fn add_assign(&mut self, rhs: Secp256k1Affine)
Performs the
+=
operation. Read moresourceimpl CofactorCurve for Secp256k1
impl CofactorCurve for Secp256k1
type Affine = Secp256k1Affine
sourceimpl CofactorGroup for Secp256k1
impl CofactorGroup for Secp256k1
type Subgroup = Secp256k1
type Subgroup = Secp256k1
The large prime-order subgroup in which cryptographic operations are performed.
If
Self
implements PrimeGroup
, then Self::Subgroup
may be Self
. Read moresourcefn clear_cofactor(&self) -> Self
fn clear_cofactor(&self) -> Self
Maps
self
to the prime-order subgroup by multiplying this element by some
k
-multiple of the cofactor. Read moresourcefn into_subgroup(self) -> CtOption<Self::Subgroup>
fn into_subgroup(self) -> CtOption<Self::Subgroup>
Returns
self
if it is contained in the prime-order subgroup. Read moresourcefn is_torsion_free(&self) -> Choice
fn is_torsion_free(&self) -> Choice
Determines if this element is “torsion free”, i.e., is contained in the
prime-order subgroup. Read more
fn is_small_order(&self) -> Choice
fn is_small_order(&self) -> Choice
Determines if this element is of small order. Read more
sourceimpl ConditionallySelectable for Secp256k1
impl ConditionallySelectable for Secp256k1
sourcefn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
sourcefn conditional_assign(&mut self, other: &Self, choice: Choice)
fn conditional_assign(&mut self, other: &Self, choice: Choice)
sourceimpl ConstantTimeEq for Secp256k1
impl ConstantTimeEq for Secp256k1
sourceimpl Curve for Secp256k1
impl Curve for Secp256k1
type AffineRepr = Secp256k1Affine
type AffineRepr = Secp256k1Affine
The affine representation for this elliptic curve.
sourcefn batch_normalize(p: &[Self], q: &mut [Self::AffineRepr])
fn batch_normalize(p: &[Self], q: &mut [Self::AffineRepr])
Converts a batch of projective elements into affine elements. This function will
panic if
p.len() != q.len()
. Read moresourceimpl CurveExt for Secp256k1
impl CurveExt for Secp256k1
type AffineExt = Secp256k1Affine
type AffineExt = Secp256k1Affine
The affine version of the curve
sourcefn endo(&self) -> Self
fn endo(&self) -> Self
Apply the curve endomorphism by multiplying the x-coordinate
by an element of multiplicative order 3. Read more
sourcefn jacobian_coordinates(&self) -> (Fp, Fp, Fp)
fn jacobian_coordinates(&self) -> (Fp, Fp, Fp)
Return the Jacobian coordinates of this point.
sourcefn hash_to_curve<'a>(_: &'a str) -> Box<dyn Fn(&[u8]) -> Self + 'a>
fn hash_to_curve<'a>(_: &'a str) -> Box<dyn Fn(&[u8]) -> Self + 'a>
Requests a hasher that accepts messages and returns near-uniformly
distributed elements in the group, given domain prefix
domain_prefix
. Read moresourcefn is_on_curve(&self) -> Choice
fn is_on_curve(&self) -> Choice
Returns whether or not this element is on the curve; should
always be true unless an “unchecked” API was used. Read more
sourceimpl<'de> Deserialize<'de> for Secp256k1
impl<'de> Deserialize<'de> for Secp256k1
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<'a> From<&'a Secp256k1> for Secp256k1Affine
impl<'a> From<&'a Secp256k1> for Secp256k1Affine
sourcefn from(p: &'a Secp256k1) -> Secp256k1Affine
fn from(p: &'a Secp256k1) -> Secp256k1Affine
Converts to this type from the input type.
sourceimpl<'a> From<&'a Secp256k1Affine> for Secp256k1
impl<'a> From<&'a Secp256k1Affine> for Secp256k1
sourcefn from(p: &'a Secp256k1Affine) -> Secp256k1
fn from(p: &'a Secp256k1Affine) -> Secp256k1
Converts to this type from the input type.
sourceimpl From<Secp256k1> for Secp256k1Affine
impl From<Secp256k1> for Secp256k1Affine
sourcefn from(p: Secp256k1) -> Secp256k1Affine
fn from(p: Secp256k1) -> Secp256k1Affine
Converts to this type from the input type.
sourceimpl From<Secp256k1Affine> for Secp256k1
impl From<Secp256k1Affine> for Secp256k1
sourcefn from(p: Secp256k1Affine) -> Secp256k1
fn from(p: Secp256k1Affine) -> Secp256k1
Converts to this type from the input type.
sourceimpl Group for Secp256k1
impl Group for Secp256k1
sourceimpl Group for Secp256k1
impl Group for Secp256k1
type Scalar = Fq
type Scalar = Fq
The group is assumed to be of prime order $p$.
Scalar
is the
associated scalar field of size $p$. Read moresourcefn group_zero() -> Self
fn group_zero() -> Self
Returns the additive identity of the group.
sourcefn group_scale(&mut self, by: &Self::Scalar)
fn group_scale(&mut self, by: &Self::Scalar)
Scales this group element by a scalar.
sourceimpl GroupEncoding for Secp256k1
impl GroupEncoding for Secp256k1
type Repr = Secp256k1Compressed
type Repr = Secp256k1Compressed
The encoding of group elements. Read more
sourcefn from_bytes(bytes: &Self::Repr) -> CtOption<Self>
fn from_bytes(bytes: &Self::Repr) -> CtOption<Self>
Attempts to deserialize a group element from its encoding.
sourcefn from_bytes_unchecked(bytes: &Self::Repr) -> CtOption<Self>
fn from_bytes_unchecked(bytes: &Self::Repr) -> CtOption<Self>
Attempts to deserialize a group element, not checking if the element is valid. Read more
sourceimpl<'b> MulAssign<&'b Fq> for Secp256k1
impl<'b> MulAssign<&'b Fq> for Secp256k1
sourcefn mul_assign(&mut self, rhs: &'b Fq)
fn mul_assign(&mut self, rhs: &'b Fq)
Performs the
*=
operation. Read moresourceimpl MulAssign<Fq> for Secp256k1
impl MulAssign<Fq> for Secp256k1
sourcefn mul_assign(&mut self, rhs: Fq)
fn mul_assign(&mut self, rhs: Fq)
Performs the
*=
operation. Read moresourceimpl PrimeCurve for Secp256k1
impl PrimeCurve for Secp256k1
type Affine = Secp256k1Affine
sourceimpl SerdeObject for Secp256k1
impl SerdeObject for Secp256k1
sourcefn from_raw_bytes_unchecked(bytes: &[u8]) -> Self
fn from_raw_bytes_unchecked(bytes: &[u8]) -> Self
The purpose of unchecked functions is to read the internal memory representation
of a type from bytes as quickly as possible. No sanitization checks are performed
to ensure the bytes represent a valid object. As such this function should only be
used internally as an extension of machine memory. It should not be used to deserialize
externally provided data. Read more
fn from_raw_bytes(bytes: &[u8]) -> Option<Self>
fn to_raw_bytes(&self) -> Vec<u8>
sourcefn read_raw_unchecked<R: Read>(reader: &mut R) -> Self
fn read_raw_unchecked<R: Read>(reader: &mut R) -> Self
The purpose of unchecked functions is to read the internal memory representation
of a type from disk as quickly as possible. No sanitization checks are performed
to ensure the bytes represent a valid object. This function should only be used
internally when some machine state cannot be kept in memory (e.g., between runs)
and needs to be reloaded as quickly as possible. Read more
fn read_raw<R: Read>(reader: &mut R) -> Result<Self>
fn write_raw<W: Write>(&self, writer: &mut W) -> Result<()>
sourceimpl<'a, 'b> Sub<&'a Secp256k1> for &'b Secp256k1Affine
impl<'a, 'b> Sub<&'a Secp256k1> for &'b Secp256k1Affine
sourceimpl<'a, 'b> Sub<&'a Secp256k1Affine> for &'b Secp256k1
impl<'a, 'b> Sub<&'a Secp256k1Affine> for &'b Secp256k1
sourceimpl<'b> Sub<&'b Secp256k1> for Secp256k1Affine
impl<'b> Sub<&'b Secp256k1> for Secp256k1Affine
sourceimpl<'b> Sub<&'b Secp256k1Affine> for Secp256k1
impl<'b> Sub<&'b Secp256k1Affine> for Secp256k1
sourceimpl<'a> Sub<Secp256k1> for &'a Secp256k1Affine
impl<'a> Sub<Secp256k1> for &'a Secp256k1Affine
sourceimpl Sub<Secp256k1> for Secp256k1Affine
impl Sub<Secp256k1> for Secp256k1Affine
sourceimpl<'a> Sub<Secp256k1Affine> for &'a Secp256k1
impl<'a> Sub<Secp256k1Affine> for &'a Secp256k1
sourceimpl Sub<Secp256k1Affine> for Secp256k1
impl Sub<Secp256k1Affine> for Secp256k1
sourceimpl<'b> SubAssign<&'b Secp256k1> for Secp256k1
impl<'b> SubAssign<&'b Secp256k1> for Secp256k1
sourcefn sub_assign(&mut self, rhs: &'b Secp256k1)
fn sub_assign(&mut self, rhs: &'b Secp256k1)
Performs the
-=
operation. Read moresourceimpl<'b> SubAssign<&'b Secp256k1Affine> for Secp256k1
impl<'b> SubAssign<&'b Secp256k1Affine> for Secp256k1
sourcefn sub_assign(&mut self, rhs: &'b Secp256k1Affine)
fn sub_assign(&mut self, rhs: &'b Secp256k1Affine)
Performs the
-=
operation. Read moresourceimpl SubAssign<Secp256k1> for Secp256k1
impl SubAssign<Secp256k1> for Secp256k1
sourcefn sub_assign(&mut self, rhs: Secp256k1)
fn sub_assign(&mut self, rhs: Secp256k1)
Performs the
-=
operation. Read moresourceimpl SubAssign<Secp256k1Affine> for Secp256k1
impl SubAssign<Secp256k1Affine> for Secp256k1
sourcefn sub_assign(&mut self, rhs: Secp256k1Affine)
fn sub_assign(&mut self, rhs: Secp256k1Affine)
Performs the
-=
operation. Read moreimpl Copy for Secp256k1
impl Eq for Secp256k1
impl PrimeGroup for Secp256k1
Auto Trait Implementations
impl RefUnwindSafe for Secp256k1
impl Send for Secp256k1
impl Sync for Secp256k1
impl Unpin for Secp256k1
impl UnwindSafe for Secp256k1
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ConditionallyNegatable for Twhere
T: ConditionallySelectable,
&'a T: for<'a> Neg<Output = T>,
impl<T> ConditionallyNegatable for Twhere
T: ConditionallySelectable,
&'a T: for<'a> Neg<Output = T>,
sourcefn conditional_negate(&mut self, choice: Choice)
fn conditional_negate(&mut self, choice: Choice)
impl<T> FmtForward for T
impl<T> FmtForward for T
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read morefn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read morefn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Borrows
self
, then passes self.as_ref()
into the pipe function.fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Borrows
self
, then passes self.deref()
into the pipe function.impl<T> Tap for T
impl<T> Tap for T
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Immutable access to the
Borrow<B>
of a value. Read morefn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Mutable access to the
BorrowMut<B>
of a value. Read morefn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Immutable access to the
AsRef<R>
view of a value. Read morefn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Mutable access to the
AsMut<R>
view of a value. Read morefn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the
Deref::Target
of a value. Read morefn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Mutable access to the
Deref::Target
of a value. Read morefn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds. Read morefn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds. Read morefn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read morefn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Calls
.tap_ref()
only in debug builds, and is erased in release
builds. Read morefn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more