glossary·2026-03-08·2 min read

Group Element

Group Element

A group element is a point on the elliptic curve that underlies Aleo's cryptography. In Leo, the group type represents these points.

Usage in Leo

Group elements show up in cryptographic operations that need elliptic curve points: key derivation, commitment schemes, signature verification. They appear less often than field or address types in typical application code but are necessary for building custom cryptographic primitives.

leo
let point: group = group::GEN;  // Generator point
let doubled: group = point + point;  // Point addition
let scaled: group = 5scalar * point;  // Scalar multiplication

Relation to other types

  • field: Elements of the finite field the curve is defined over. Most arithmetic happens in the field.
  • scalar: Elements of the scalar field (the curve group's order). Used to multiply group elements.
  • address: Derived from group elements. An Aleo address is an encoded public key, which is a group element.

Key properties

  • Group elements support addition and scalar multiplication, but not multiplication of two group elements together.
  • Security rests on the discrete logarithm problem: given P = s * G, recovering s from P is computationally infeasible.

See also

Sources