From a6274c3c0da0e6be2a15d64e0fb74ea74177bb50 Mon Sep 17 00:00:00 2001 From: heliannuuthus Date: Tue, 13 Aug 2024 10:36:31 +0800 Subject: [PATCH] test and doctest --- sm2/src/pke.rs | 8 ++++++-- sm2/src/pke/encrypting.rs | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/sm2/src/pke.rs b/sm2/src/pke.rs index 91150915..a90571be 100644 --- a/sm2/src/pke.rs +++ b/sm2/src/pke.rs @@ -18,13 +18,14 @@ //! //! // Encrypting //! let secret_key = SecretKey::random(&mut OsRng); // serialize with `::to_bytes()` -//! let encrypting_key = EncryptingKey::new_with_mode(secret_key, Mode::C1C2C3); +//! let public_key = secret_key.public_key(); +//! let encrypting_key = EncryptingKey::new_with_mode(public_key, Mode::C1C2C3); //! let plaintext = b"plaintext"; //! let ciphertext = encrypting_key.encrypt(plaintext)?; //! //! use sm2::pke::DecryptingKey; //! // Decrypting -//! let decrypting_key = DecryptingKey::new_with_mode(secret_key, Mode::C1C2C3); +//! let decrypting_key = DecryptingKey::new_with_mode(secret_key.to_nonzero_scalar(), Mode::C1C2C3); //! assert_eq!(decrypting_key.decrypt(&ciphertext)?, plaintext); //! //! // Encrypting asn.1 @@ -32,6 +33,8 @@ //! //! // Decrypting asn.1 //! assert_eq!(decrypting_key.decrypt_asna1(&ciphertext)?, plaintext); +//! +//! Ok(()) //! # } //! ``` //! @@ -173,3 +176,4 @@ pub(crate) fn zero_byte_slice( output[num_zeroes..].copy_from_slice(bytes); Ok(output) } + diff --git a/sm2/src/pke/encrypting.rs b/sm2/src/pke/encrypting.rs index af4dbb85..99bdd3bd 100644 --- a/sm2/src/pke/encrypting.rs +++ b/sm2/src/pke/encrypting.rs @@ -188,7 +188,7 @@ fn encrypt( }) } -fn next_k(bit_length: u32) -> Uint<4> { +fn next_k(bit_length: u32) -> U256 { loop { let k = U256::random_bits(&mut rand_core::OsRng, bit_length); if k.is_zero().unwrap_u8() == 0 && k <= Sm2::ORDER { @@ -196,3 +196,4 @@ fn next_k(bit_length: u32) -> Uint<4> { } } } +