summaryrefslogtreecommitdiffstats
path: root/openpgp/src/crypto/backend/nettle/hash.rs
diff options
context:
space:
mode:
Diffstat (limited to 'openpgp/src/crypto/backend/nettle/hash.rs')
-rw-r--r--openpgp/src/crypto/backend/nettle/hash.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/openpgp/src/crypto/backend/nettle/hash.rs b/openpgp/src/crypto/backend/nettle/hash.rs
index 4bf1535e..3e9d12a6 100644
--- a/openpgp/src/crypto/backend/nettle/hash.rs
+++ b/openpgp/src/crypto/backend/nettle/hash.rs
@@ -29,6 +29,8 @@ impl_digest_for!(nettle::hash::Sha224, SHA224);
impl_digest_for!(nettle::hash::Sha256, SHA256);
impl_digest_for!(nettle::hash::Sha384, SHA384);
impl_digest_for!(nettle::hash::Sha512, SHA512);
+impl_digest_for!(nettle::hash::Sha3_256, SHA3_256);
+impl_digest_for!(nettle::hash::Sha3_512, SHA3_512);
impl_digest_for!(nettle::hash::insecure_do_not_use::Sha1, SHA1);
impl_digest_for!(nettle::hash::insecure_do_not_use::Md5, MD5);
impl_digest_for!(nettle::hash::insecure_do_not_use::Ripemd160, RipeMD);
@@ -42,6 +44,8 @@ impl HashAlgorithm {
HashAlgorithm::SHA256 => true,
HashAlgorithm::SHA384 => true,
HashAlgorithm::SHA512 => true,
+ HashAlgorithm::SHA3_256 => true,
+ HashAlgorithm::SHA3_512 => true,
HashAlgorithm::RipeMD => true,
HashAlgorithm::MD5 => true,
HashAlgorithm::Private(_) => false,
@@ -59,7 +63,7 @@ impl HashAlgorithm {
///
/// [`HashAlgorithm::is_supported`]: HashAlgorithm::is_supported()
pub(crate) fn new_hasher(self) -> Result<Box<dyn Digest>> {
- use nettle::hash::{Sha224, Sha256, Sha384, Sha512};
+ use nettle::hash::{Sha224, Sha256, Sha384, Sha512, Sha3_256, Sha3_512};
use nettle::hash::insecure_do_not_use::{
Sha1,
Md5,
@@ -72,6 +76,8 @@ impl HashAlgorithm {
HashAlgorithm::SHA256 => Ok(Box::new(Sha256::default())),
HashAlgorithm::SHA384 => Ok(Box::new(Sha384::default())),
HashAlgorithm::SHA512 => Ok(Box::new(Sha512::default())),
+ HashAlgorithm::SHA3_256 => Ok(Box::new(Sha3_256::default())),
+ HashAlgorithm::SHA3_512 => Ok(Box::new(Sha3_512::default())),
HashAlgorithm::MD5 => Ok(Box::new(Md5::default())),
HashAlgorithm::RipeMD => Ok(Box::new(Ripemd160::default())),
HashAlgorithm::Private(_) | HashAlgorithm::Unknown(_) =>