Documentation

CatCryptCore.Examples.GroupParam

Abstract Cyclic-Group Parameters #

GroupParam axiomatizes a finite cyclic group of prime order together with its scalar field, packaged as a single structure so protocol definitions can quantify over an arbitrary such group. The carrier G is the group; Scalar is the field ℤ/qℤ where q = |g|; exp x = gᣞ is generator exponentiation and groupExp h x is exponentiation of an arbitrary element. The structure records the group and scalar-field axioms as fields, so a concrete instantiation discharges them once and every downstream proof reasons purely equationally.

This is the abstract group interface used by the UC examples over discrete-log groups (Pedersen commitment, dual-mode oblivious transfer).

Parameters for a finite cyclic group of prime order together with its scalar field ℤ/qℤ. The carrier G is the group with generator generator; Scalar is the field of exponents; exp is generator exponentiation and groupExp is exponentiation of an arbitrary group element. The remaining fields record the group and field axioms needed for equational reasoning.

Instances For