FROST Ed448 TypeScript Library - v0.2.2-alpha.3
    Preparing search index...

    Interface Group<F, E, Ser>

    A prime-order group (or subgroup) that provides everything we need to create and verify Schnorr signatures.

    interface Group<
        F extends Field = Field,
        E = unknown,
        Ser extends Uint8Array = Uint8Array,
    > {
        field: F;
        cofactor(): ScalarOf<F>;
        identity(): E;
        generator(): E;
        serialize(element: E): Ser;
        deserialize(buf: Ser | Uint8Array<ArrayBufferLike>): E;
        add(a: E, b: E): E;
        sub(a: E, b: E): E;
        scalarMul(element: E, scalar: ScalarOf<F>): E;
        scalarBaseMul(scalar: ScalarOf<F>): E;
        negate(element: E): E;
        eq(a: E, b: E): boolean;
        isIdentity(element: E): boolean;
    }

    Type Parameters

    • F extends Field = Field

      The field type for scalars

    • E = unknown

      The element type for this group

    • Ser extends Uint8Array = Uint8Array

      The serialization type (fixed-length byte array, little-endian)

    Index

    Properties

    field: F

    The field instance for this group.

    Methods

    • The cofactor of the group.

      Returns ScalarOf<F>

    • The identity element of the group.

      Returns E

    • The generator element of the group.

      Returns E

    • Serialize an element to bytes.

      Parameters

      • element: E

      Returns Ser

    • Deserialize an element from bytes.

      Parameters

      • buf: Ser | Uint8Array<ArrayBufferLike>

      Returns E

    • Add two group elements.

      Parameters

      Returns E

    • Subtract two group elements.

      Parameters

      Returns E

    • Multiply a group element by a scalar.

      Parameters

      • element: E
      • scalar: ScalarOf<F>

      Returns E

    • Scalar base multiplication (generator * scalar).

      Parameters

      • scalar: ScalarOf<F>

      Returns E

    • Negate a group element.

      Parameters

      • element: E

      Returns E

    • Check if two elements are equal.

      Parameters

      Returns boolean

    • Check if an element is the identity.

      Parameters

      • element: E

      Returns boolean