Skip to content

Commit eeaf5e0

Browse files
test subtle trait implementations
Signed-off-by: Andrew Whitehead <cywolf@gmail.com>
1 parent 3208d84 commit eeaf5e0

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

src/modular/prime_params.rs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,20 +190,57 @@ mod tests {
190190
PrimeParams::new_vartime(&monty_params_2).expect("failed creating params");
191191

192192
assert!(CtEq::ct_eq(&prime_params_1, &prime_params_1).to_bool_vartime());
193+
#[cfg(feature = "subtle")]
194+
assert!(bool::from(subtle::ConstantTimeEq::ct_eq(
195+
&prime_params_1,
196+
&prime_params_1
197+
)));
198+
193199
assert!(CtEq::ct_ne(&prime_params_1, &prime_params_2).to_bool_vartime());
200+
#[cfg(feature = "subtle")]
201+
assert!(bool::from(subtle::ConstantTimeEq::ct_ne(
202+
&prime_params_1,
203+
&prime_params_2
204+
)));
205+
194206
assert!(
195207
CtEq::ct_eq(
196208
&CtSelect::ct_select(&prime_params_1, &prime_params_2, Choice::FALSE),
197209
&prime_params_1,
198210
)
199211
.to_bool_vartime()
200212
);
213+
#[cfg(feature = "subtle")]
214+
assert!(
215+
CtEq::ct_eq(
216+
&subtle::ConditionallySelectable::conditional_select(
217+
&prime_params_1,
218+
&prime_params_2,
219+
subtle::Choice::from(0u8)
220+
),
221+
&prime_params_1,
222+
)
223+
.to_bool_vartime()
224+
);
225+
201226
assert!(
202227
CtEq::ct_eq(
203228
&CtSelect::ct_select(&prime_params_1, &prime_params_2, Choice::TRUE),
204229
&prime_params_2,
205230
)
206231
.to_bool_vartime()
207232
);
233+
#[cfg(feature = "subtle")]
234+
assert!(
235+
CtEq::ct_eq(
236+
&subtle::ConditionallySelectable::conditional_select(
237+
&prime_params_1,
238+
&prime_params_2,
239+
subtle::Choice::from(1u8)
240+
),
241+
&prime_params_2,
242+
)
243+
.to_bool_vartime()
244+
);
208245
}
209246
}

0 commit comments

Comments
 (0)