[][src]Module secp256kfun::marker

Markers for improved compile time safety, performance and functionality.

Structs

BasePoint

A Normal point which has pre-computed tables for accelerating scalar multiplications. The only example of this is G.

EvenY

A Normal point whose y coordinate is known to be even.

Jacobian

A Non-normalized Point. Jacobian points are represented internally as three field elements: x,y and z. Most point operations return Jacobian points.

NonZero

Something marked with NonZero is guaranteed not to be 0.

Normal

A Fully Normalized Point. Internally Normal points are represented using affine coordinates with fully normalized x and y field elements.

Public

Indicates that variable time operations may be used on the value.

Secret

Indicates that the value is secret and therefore makes core operations executed on it to use constant time versions of the operations.

Zero

Something marked with Zero might be 0 i.e. the additive identity

Traits

ChangeMark

A trait that is implemented on marker types to indicate that they can mark the type T.

DecideZero

A trait to figure out whether the result of a multiplication should be Zero or NonZero at compile time.

Mark

A extension trait to add the mark method to all types so they can be marked with anything that implements ChangeMark against it.

Normalized

A marker trait that indicates a PointType uses a affine internal representation.

PointType

Every T of a Point<T,S,Z> implements the PointType trait.

Secrecy

A marker trait implemented by Secret and Public.

ZeroChoice

A marker trait implemented by Zero and NonZero.