-
Notifications
You must be signed in to change notification settings - Fork 56
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
Add DivRemLimb
and RemLimb
traits
#496
Conversation
d98ec04
to
efa774c
Compare
Making a draft temporarily, need to add comments about the unwraps. Also probably a good idea for it to be a draft until we figure out what the API should be. |
Since we have Bernstein-Yang now defined on both I can add a trait for computing GCD and bound If you do want to include it for completeness, it'd be good to check if it's actually faster than the constant-time implementation (Bernstein-Yang is surprisingly fast), and then I'd prefer it be exposed as a provided |
efa774c
to
1b7026e
Compare
But that's constant-time, correct? I'm using it in a vartime context, so running the constant time thing would lead to performance degradatation. Let me run some benchmarks. |
1b7026e
to
acbc887
Compare
Actually let me roll it back. There are a few assorted considerations:
|
acbc887
to
709a16d
Compare
This is the next step for entropyxyz/crypto-primes#36
Monty::Params
(goes in line with the bounds onMonty
andInteger
);From<Limb>
bound forInteger
;num-bigint
instead ofnum-bigint-dig
for compatibility withnum-modular
(used in tests);DivRemLimb
andRemLimb
traits (and separaterem_limb()
methods - there's a significant speedup, and these are the ones I actually use incrypto-primes
)