Skip to content

Commit 56c953b

Browse files
committed
explicit the unwrap on the s and r values
1 parent 35fbcd8 commit 56c953b

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

dsa/src/signing_key.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,10 @@ impl SigningKey {
116116
debug_assert_eq!(key_size.l_aligned(), r.bits_precision());
117117

118118
let r_short = r.shorten(key_size.n_aligned());
119-
// TODO(baloo): is there any way R could be zero here? Could it be any reason for K to be
120-
// one?
121-
let r_short = NonZero::new(r_short).unwrap();
122-
let r = NonZero::new(r).unwrap();
119+
let r_short = NonZero::new(r_short)
120+
.expect("[bug] invalid value of k used here, the secret number computed was invalid");
121+
let r = NonZero::new(r)
122+
.expect("[bug] invalid value of k used here, the secret number computed was invalid");
123123

124124
let n = q.bits() / 8;
125125
let block_size = hash.len(); // Hash function output size
@@ -130,8 +130,8 @@ impl SigningKey {
130130

131131
let s = inv_k.mul_mod(&(z + &**x * &*r), &q.widen(key_size.l_aligned()));
132132
let s = s.shorten(key_size.n_aligned());
133-
// TODO(baloo): is there any way S could be zero here?
134-
let s = NonZero::new(s).unwrap();
133+
let s = NonZero::new(s)
134+
.expect("[bug] invalid value of k used here, the secret number computed was invalid");
135135

136136
debug_assert_eq!(key_size.n_aligned(), r_short.bits_precision());
137137
debug_assert_eq!(key_size.n_aligned(), s.bits_precision());

0 commit comments

Comments
 (0)