diff --git a/src/sshwire.rs b/src/sshwire.rs
index 8e9193c3a46493695a6b24b081e339f6a31d1cef..2f68e08f5feb9afad76f869f76ad1571e4299993 100644
--- a/src/sshwire.rs
+++ b/src/sshwire.rs
@@ -153,7 +153,7 @@ where
 }
 
 /// Hashes the SSH wire format representation of `value`, with a `u32` length prefix.
-pub fn hash_ser_length(hash_ctx: &mut impl DigestUpdate,
+pub fn hash_ser_length(hash_ctx: &mut impl SSHWireDigestUpdate,
     value: &dyn SSHEncode) -> Result<()>
 {
     let len: u32 = length_enc(value)?;
@@ -164,7 +164,7 @@ pub fn hash_ser_length(hash_ctx: &mut impl DigestUpdate,
 /// Hashes the SSH wire format representation of `value`
 ///
 /// Will only fail if `value.enc()` can return an error.
-pub fn hash_ser(hash_ctx: &mut impl DigestUpdate,
+pub fn hash_ser(hash_ctx: &mut impl SSHWireDigestUpdate,
     value: &dyn SSHEncode,
     parse_ctx: Option<&ParseContext>,
     ) -> Result<()>
@@ -216,7 +216,7 @@ impl SSHSink for EncodeLen {
 }
 
 struct EncodeHash<'a> {
-    hash_ctx: &'a mut dyn DigestUpdate,
+    hash_ctx: &'a mut dyn SSHWireDigestUpdate,
     parse_ctx: Option<ParseContext>,
 }
 
@@ -259,7 +259,7 @@ impl<'de> SSHSource<'de> for DecodeBytes<'de> {
 
 // Hashes a slice to be treated as a mpint. Has u32 length prefix
 // and an extra 0x00 byte if the MSB is set.
-pub fn hash_mpint(hash_ctx: &mut dyn DigestUpdate, m: &[u8]) {
+pub fn hash_mpint(hash_ctx: &mut dyn SSHWireDigestUpdate, m: &[u8]) {
     let pad = m.len() > 0 && (m[0] & 0x80) != 0;
     let l = m.len() as u32 + pad as u32;
     hash_ctx.digest_update(&l.to_be_bytes());
@@ -594,17 +594,23 @@ impl<'de, const N: usize> SSHDecode<'de> for heapless::String<N> {
 /// Like `digest::DynDigest` but simpler.
 ///
 /// Doesn't have any optional methods that depend on `alloc`.
-pub trait DigestUpdate {
+pub trait SSHWireDigestUpdate {
     fn digest_update(&mut self, data: &[u8]);
 }
 
-impl DigestUpdate for salty::Sha512 {
+impl SSHWireDigestUpdate for salty::Sha512 {
     fn digest_update(&mut self, data: &[u8]) {
         self.update(data)
     }
 }
 
-impl DigestUpdate for sha2::Sha256 {
+impl SSHWireDigestUpdate for sha2::Sha256 {
+    fn digest_update(&mut self, data: &[u8]) {
+        self.update(data)
+    }
+}
+
+impl SSHWireDigestUpdate for sha2::Sha512 {
     fn digest_update(&mut self, data: &[u8]) {
         self.update(data)
     }