diff --git a/ChangeLog.d/sha3.txt b/ChangeLog.d/sha3.txt
index dafff74..9426f87 100644
--- a/ChangeLog.d/sha3.txt
+++ b/ChangeLog.d/sha3.txt
@@ -1,3 +1,3 @@
 Features
-    * Add SHA3 family hash functions.
+    * Add SHA-3 family hash functions.
 
diff --git a/include/mbedtls/sha3.h b/include/mbedtls/sha3.h
index f596c2e..f41696b 100644
--- a/include/mbedtls/sha3.h
+++ b/include/mbedtls/sha3.h
@@ -1,7 +1,7 @@
 /**
  * \file sha3.h
  *
- * \brief This file contains SHA3 definitions and functions.
+ * \brief This file contains SHA-3 definitions and functions.
  *
  * The Secure Hash Algorithms cryptographic
  * hash functions are defined in <em>FIPS 202: SHA-3 Standard:
@@ -37,7 +37,7 @@
 extern "C" {
 #endif
 
-/** SHA3 input data was malformed. */
+/** SHA-3 input data was malformed. */
 #define MBEDTLS_ERR_SHA3_BAD_INPUT_DATA                 -0x0076
 
 /**
diff --git a/library/sha3.c b/library/sha3.c
index c5ce1c6..615e5e9 100644
--- a/library/sha3.c
+++ b/library/sha3.c
@@ -309,7 +309,7 @@
 }
 
 /*
- * output = SHA3( input buffer )
+ * output = SHA-3( input buffer )
  */
 int mbedtls_sha3(mbedtls_sha3_id id, const uint8_t *input,
                  size_t ilen, uint8_t *output, size_t olen)
@@ -602,7 +602,7 @@
 {
     int i;
 
-    /* SHA3 Known Answer Tests (KAT) */
+    /* SHA-3 Known Answer Tests (KAT) */
     for (i = 0; i < 2; i++) {
         if (0 != mbedtls_sha3_kat_test(verbose,
                                        "SHA3-224", MBEDTLS_SHA3_224, i)) {
@@ -625,7 +625,7 @@
         }
     }
 
-    /* SHA3 long KAT tests */
+    /* SHA-3 long KAT tests */
     if (0 != mbedtls_sha3_long_kat_test(verbose,
                                         "SHA3-224", MBEDTLS_SHA3_224)) {
         return 1;
