|
27 | 27 | //! assert_eq!(ss_sender, ss_receiver); |
28 | 28 | //! ``` |
29 | 29 |
|
| 30 | +use core::convert::Infallible; |
| 31 | + |
30 | 32 | use kem::{Decapsulate, Encapsulate}; |
31 | 33 | use ml_kem::array::ArrayN; |
32 | 34 | use ml_kem::{kem, EncodedSizeUser, KemCore, MlKem768, MlKem768Params, B32}; |
@@ -73,7 +75,7 @@ pub struct EncapsulationKey { |
73 | 75 | } |
74 | 76 |
|
75 | 77 | impl Encapsulate<Ciphertext, SharedSecret> for EncapsulationKey { |
76 | | - type Error = (); |
| 78 | + type Error = Infallible; |
77 | 79 |
|
78 | 80 | fn encapsulate( |
79 | 81 | &self, |
@@ -133,7 +135,7 @@ pub struct DecapsulationKey { |
133 | 135 | } |
134 | 136 |
|
135 | 137 | impl Decapsulate<Ciphertext, SharedSecret> for DecapsulationKey { |
136 | | - type Error = (); |
| 138 | + type Error = Infallible; |
137 | 139 |
|
138 | 140 | fn decapsulate(&self, ct: &Ciphertext) -> Result<SharedSecret, Self::Error> { |
139 | 141 | let (sk_m, sk_x, _pk_m, pk_x) = self.expand_key(); |
@@ -346,34 +348,30 @@ mod tests { |
346 | 348 |
|
347 | 349 | /// Test with test vectors from: https://github.com/dconnolly/draft-connolly-cfrg-xwing-kem/blob/main/spec/test-vectors.json |
348 | 350 | #[test] |
349 | | - fn rfc_test_vectors() -> Result<(), ()> { |
| 351 | + fn rfc_test_vectors() { |
350 | 352 | let test_vectors = |
351 | 353 | serde_json::from_str::<Vec<TestVector>>(include_str!("test-vectors.json")).unwrap(); |
352 | 354 |
|
353 | 355 | for test_vector in test_vectors { |
354 | | - run_test(test_vector)?; |
| 356 | + run_test(test_vector); |
355 | 357 | } |
356 | | - |
357 | | - Ok(()) |
358 | 358 | } |
359 | 359 |
|
360 | | - fn run_test(test_vector: TestVector) -> Result<(), ()> { |
| 360 | + fn run_test(test_vector: TestVector) { |
361 | 361 | let mut seed = SeedRng::new(test_vector.seed); |
362 | 362 | let (sk, pk) = generate_key_pair(&mut seed); |
363 | 363 |
|
364 | 364 | assert_eq!(sk.as_bytes().to_vec(), test_vector.sk); |
365 | 365 | assert_eq!(pk.as_bytes().to_vec(), test_vector.pk); |
366 | 366 |
|
367 | 367 | let mut eseed = SeedRng::new(test_vector.eseed); |
368 | | - let (ct, ss) = pk.encapsulate(&mut eseed)?; |
| 368 | + let (ct, ss) = pk.encapsulate(&mut eseed).unwrap(); |
369 | 369 |
|
370 | 370 | assert_eq!(ss, test_vector.ss); |
371 | 371 | assert_eq!(ct.as_bytes().to_vec(), test_vector.ct); |
372 | 372 |
|
373 | | - let ss = sk.decapsulate(&ct)?; |
| 373 | + let ss = sk.decapsulate(&ct).unwrap(); |
374 | 374 | assert_eq!(ss, test_vector.ss); |
375 | | - |
376 | | - Ok(()) |
377 | 375 | } |
378 | 376 |
|
379 | 377 | #[test] |
|
0 commit comments