Skip to content

feat: bigint + bigint-based primitives #184

@mrdaybird

Description

@mrdaybird

Some algorithms require fields over huge numbers, and primitives defined over these large fields.
For example, the Ed25519 digital signature algorithm uses a curve over the prime field defined by prime number $2^{255} - 19$.
So, we need a way to represent large numbers and add support for it within primitives in ronkathon.

  • BigInt: Represent arbitrarily large number, say >128-bit.

The structs and traits that should support BigInt:

  • field module:
    • Finite
    • FiniteField
    • PrimeField
    • GaloisField
    • BinaryTowers
  • group module:
    • FiniteGroup
    • MultiplicativePrimeGroup
  • curve module:
    • EllipticCurve
    • AffinePoint
    • EdwardsCurve

Unresolved Questions:

  1. Should these bigint-based primitives replace the existing ones or live separately in another module?
  2. Are there other structs/traits that should be added to the above list?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions