Module fastcrypto::groups

source ·

Modules§

  • This module contains implementations of optimised scalar multiplication algorithms where the group element is fixed and certain multiples of this may be pre-computed.
  • Implementations of the ristretto255 group which is a group of prime order 2^{252} + 27742317777372353535851937790883648493 built over Curve25519.
  • Implementation of the Secp256r1 (aka P-256) curve. This is a 256-bit Weirstrass curve of prime order. See “SEC 2: Recommended Elliptic Curve Domain Parameters” for details.“

Traits§

  • Trait for group elements that has a fast doubling operation.
  • Trait for groups that have a reduction from a random buffer to a group element that is secure when used for Fiat-Shamir. Note that the resulting group element is not guaranteed to be uniformly distributed, but only to have enough entropy to be used for Fiat-Shamir heuristic.
  • Faster deserialization in case the input is trusted (otherwise it can be insecure).
  • Trait impl’d by elements of an additive cyclic group.
  • Trait for groups that have a standardized “hash_to_point”/“hash_to_curve” function (see [https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hash-to-curve#section-3].
  • Trait for groups that support multi-scalar multiplication.
  • Trait impl’d by scalars to be used with GroupElement.