Expand description
Provides traits for algebraic operations.
These traits are designed to lean on the existing Rust operations in std::ops,
so that the familiar +, +=, etc. operators can be used. The traits are also
designed with performant implementations in mind, so implementations try to
use methods which don’t require copying unnecessarily.
Traits§
- Additive
- A type that supports addition, subtraction, and negation.
- Crypto
Group - A group suitable for use in cryptography.
- Field
- An instance of a mathematical Field.
- Hash
ToGroup - A
CryptoGroupwhich supports obliviously sampling elements. - Multiplicative
- A type that supports multiplication.
- Object
- A basic trait we expect algebraic data structures to implement.
- Random
- A trait for objects that can be randomly sampled.
- Ring
- An instance of a mathematical Ring.
- Space
- A type which implements
Additive, and supports scaling by some other type.
Functions§
- msm_
naive - A naive implementation of
Space::msm.