diff --git a/src/algorithms/pss.rs b/src/algorithms/pss.rs index db58584d..78cdd278 100644 --- a/src/algorithms/pss.rs +++ b/src/algorithms/pss.rs @@ -25,7 +25,7 @@ pub(crate) fn emsa_pss_encode( // See [1], section 9.1.1 let h_len = hash.output_size(); let s_len = salt.len(); - let em_len = (em_bits + 7) / 8; + let em_len = em_bits.div_ceil(8); // 1. If the length of M is greater than the input limitation for the // hash function (2^61 - 1 octets for SHA-1), output "message too @@ -100,7 +100,7 @@ where // See [1], section 9.1.1 let h_len = ::output_size(); let s_len = salt.len(); - let em_len = (em_bits + 7) / 8; + let em_len = em_bits.div_ceil(8); // 1. If the length of M is greater than the input limitation for the // hash function (2^61 - 1 octets for SHA-1), output "message too @@ -235,8 +235,8 @@ pub(crate) fn emsa_pss_verify( key_bits: usize, ) -> Result<()> { let em_bits = key_bits - 1; - let em_len = (em_bits + 7) / 8; - let key_len = (key_bits + 7) / 8; + let em_len = em_bits.div_ceil(8); + let key_len = key_bits.div_ceil(8); let h_len = hash.output_size(); let em = &mut em[key_len - em_len..]; @@ -288,8 +288,8 @@ where D: Digest + FixedOutputReset, { let em_bits = key_bits - 1; - let em_len = (em_bits + 7) / 8; - let key_len = (key_bits + 7) / 8; + let em_len = em_bits.div_ceil(8); + let key_len = key_bits.div_ceil(8); let h_len = ::output_size(); let em = &mut em[key_len - em_len..]; diff --git a/src/traits/keys.rs b/src/traits/keys.rs index ca871363..2a681aa9 100644 --- a/src/traits/keys.rs +++ b/src/traits/keys.rs @@ -17,7 +17,7 @@ pub trait PublicKeyParts { /// Returns the modulus size in bytes. Raw signatures and ciphertexts for /// or by this public key will have the same size. fn size(&self) -> usize { - (self.n().bits() as usize + 7) / 8 + (self.n().bits() as usize).div_ceil(8) } /// Returns the parameters for montgomery operations.