Skip to content

Commit

Permalink
fixup key generation 1/2
Browse files Browse the repository at this point in the history
  • Loading branch information
baloo committed Feb 17, 2025
1 parent d1cedef commit 79c61dc
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
2 changes: 2 additions & 0 deletions dsa/src/generate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ pub use self::keypair::keypair;
fn calculate_bounds(size: u32) -> (BoxedUint, BoxedUint) {
let lower = two().shl(size - 1);
let upper = two().shl(size);
let lower = BoxedUint::one().widen(size + 1).shl(size - 1);
let upper = BoxedUint::one().widen(size + 1).shl(size);

(lower, upper)
}
Expand Down
5 changes: 4 additions & 1 deletion dsa/src/generate/components.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,10 @@ pub fn common(
break 'gen_m m;
}
};
let mr = &m % NonZero::new(two() * &*q).unwrap();
let rem = NonZero::new((two() * &*q).widen(m.bits_precision())).unwrap();
let mr = &m % &rem;
let p = m - mr + BoxedUint::one();
let p = p.shorten(q.bits_precision());
let p = NonZero::new(p).unwrap();

if crypto_primes::is_prime_with_rng(rng, &*p) {
Expand All @@ -54,6 +56,7 @@ pub fn common(
// Generate g using the unverifiable method as defined by Appendix A.2.1
let e = (&*p - &BoxedUint::one()) / &q;
let mut h = BoxedUint::one();
let mut h = BoxedUint::one().widen(q.bits_precision());
let g = loop {
let params = BoxedMontyParams::new_vartime(Odd::new((*p).clone()).unwrap());
let form = BoxedMontyForm::new(h.clone(), params);
Expand Down

0 comments on commit 79c61dc

Please sign in to comment.