PastaCurveName enum


Native vs Non-Native representations

  • Both native and non-native field implementations are backed by BigInt.

  • Non-native types (e.g. PallasFp, PastaPoint) represent field elements as multiple fixed-size limbs (typically 6 BigInts) and use algorithms written in a constant-time style. However, because they rely on BigInt, these implementations are not guaranteed to be constant-time at the machine level and should not be considered fully side-channel resistant. They are, however, safer than native representations.

  • Native types (e.g. PallasNativeFp, PastaNativePoint) represent each field element as a single BigInt and use variable-time algorithms. These are not constant-time and are not intended to be safe against side-channel attacks.

Both representations share identical curve and algebraic semantics; the differences lie in representation, performance, and side-channel behavior.

Inheritance
Available extensions

Values

pallas → const PastaCurveName
const PastaCurveName("pallas")
vesta → const PastaCurveName
const PastaCurveName("vesta")
isoPallas → const PastaCurveName
const PastaCurveName("iso-pallas")
isoVesta → const PastaCurveName
const PastaCurveName("iso-vesta")

Properties

curveId String
final
hashCode int
The hash code for this object.
no setterinherited
index int
A numeric identifier for the enumerated value.
no setterinherited
isIso bool
no setter
name String

Available on Enum, provided by the EnumName extension

The name of the enum value.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

values → const List<PastaCurveName>
A constant List of the values in this enum, in order of their declaration.