-
Notifications
You must be signed in to change notification settings - Fork 46
Open
Labels
dependencies 📦Dependency updates and maintenanceDependency updates and maintenancefeature ✨New feature or requestNew feature or requestpriority-high 🔥High priority tasksHigh priority taskstech debt 🏗️Technical debt and cleanup tasksTechnical debt and cleanup tasks
Description
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
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:
- Should these bigint-based primitives replace the existing ones or live separately in another module?
- Are there other structs/traits that should be added to the above list?
Metadata
Metadata
Assignees
Labels
dependencies 📦Dependency updates and maintenanceDependency updates and maintenancefeature ✨New feature or requestNew feature or requestpriority-high 🔥High priority tasksHigh priority taskstech debt 🏗️Technical debt and cleanup tasksTechnical debt and cleanup tasks