-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: bigint + bigint-based primitives #184
Comments
I am working on |
@mrdaybird thoughts on:
I feel that we could simplify things here quite a bit. These may be unrelated to your issue as created, but perhaps it would be better to simplify prior to implementing |
You mean
Also, one practical difference between a Same thing with Removing finite stuff should be a good idea because computationally everything is finite. Also, what are your thoughts on this?
|
@lonerapier I will appreciate your thoughts and suggestions on this as well! |
Good catch @mrdaybird, I think we should leave both However, with proper specialization in Rust (which I'm not sure it has right now, actually), you could specialize the case of |
Some algorithms require fields over huge numbers, and primitives defined over these large fields.$2^{255} - 19$ .
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:
The text was updated successfully, but these errors were encountered: