diff --git a/include/mbedtls/blowfish.h b/include/mbedtls/blowfish.h
index 74bbe26..a829d80 100644
--- a/include/mbedtls/blowfish.h
+++ b/include/mbedtls/blowfish.h
@@ -35,8 +35,8 @@
 
 #define MBEDTLS_BLOWFISH_ENCRYPT     1
 #define MBEDTLS_BLOWFISH_DECRYPT     0
-#define MBEDTLS_BLOWFISH_MAX_KEY     448
-#define MBEDTLS_BLOWFISH_MIN_KEY     32
+#define MBEDTLS_BLOWFISH_MAX_KEY_BITS     448
+#define MBEDTLS_BLOWFISH_MIN_KEY_BITS     32
 #define MBEDTLS_BLOWFISH_ROUNDS      16         /**< Rounds to use. When increasing this value, make sure to extend the initialisation vectors */
 #define MBEDTLS_BLOWFISH_BLOCKSIZE   8          /* Blowfish uses 64 bit blocks */
 
diff --git a/include/mbedtls/cipher.h b/include/mbedtls/cipher.h
index 9f42f0e..6710a00 100644
--- a/include/mbedtls/cipher.h
+++ b/include/mbedtls/cipher.h
@@ -415,7 +415,7 @@
  *                      MBEDTLS_KEY_LENGTH_NONE if ctx has not been
  *                      initialised.
  */
-static inline int mbedtls_cipher_get_key_size( const mbedtls_cipher_context_t *ctx )
+static inline int mbedtls_cipher_get_key_bitlen( const mbedtls_cipher_context_t *ctx )
 {
     if( NULL == ctx || NULL == ctx->cipher_info )
         return MBEDTLS_KEY_LENGTH_NONE;
diff --git a/include/mbedtls/compat-1.3.h b/include/mbedtls/compat-1.3.h
index 0af0a9e..8b0342a 100644
--- a/include/mbedtls/compat-1.3.h
+++ b/include/mbedtls/compat-1.3.h
@@ -709,8 +709,8 @@
 #define BLOWFISH_BLOCKSIZE MBEDTLS_BLOWFISH_BLOCKSIZE
 #define BLOWFISH_DECRYPT MBEDTLS_BLOWFISH_DECRYPT
 #define BLOWFISH_ENCRYPT MBEDTLS_BLOWFISH_ENCRYPT
-#define BLOWFISH_MAX_KEY MBEDTLS_BLOWFISH_MAX_KEY
-#define BLOWFISH_MIN_KEY MBEDTLS_BLOWFISH_MIN_KEY
+#define BLOWFISH_MAX_KEY MBEDTLS_BLOWFISH_MAX_KEY_BITS
+#define BLOWFISH_MIN_KEY MBEDTLS_BLOWFISH_MIN_KEY_BITS
 #define BLOWFISH_ROUNDS MBEDTLS_BLOWFISH_ROUNDS
 #define CAMELLIA_DECRYPT MBEDTLS_CAMELLIA_DECRYPT
 #define CAMELLIA_ENCRYPT MBEDTLS_CAMELLIA_ENCRYPT
@@ -1855,7 +1855,7 @@
 #define cipher_get_block_size mbedtls_cipher_get_block_size
 #define cipher_get_cipher_mode mbedtls_cipher_get_cipher_mode
 #define cipher_get_iv_size mbedtls_cipher_get_iv_size
-#define cipher_get_key_size mbedtls_cipher_get_key_size
+#define cipher_get_key_size mbedtls_cipher_get_key_bitlen
 #define cipher_get_name mbedtls_cipher_get_name
 #define cipher_get_operation mbedtls_cipher_get_operation
 #define cipher_get_type mbedtls_cipher_get_type
@@ -2219,7 +2219,7 @@
 #define pk_free mbedtls_pk_free
 #define pk_get_len mbedtls_pk_get_len
 #define pk_get_name mbedtls_pk_get_name
-#define pk_get_size mbedtls_pk_get_size
+#define pk_get_size mbedtls_pk_get_bitlen
 #define pk_get_type mbedtls_pk_get_type
 #define pk_info_from_type mbedtls_pk_info_from_type
 #define pk_info_t mbedtls_pk_info_t
diff --git a/include/mbedtls/pk.h b/include/mbedtls/pk.h
index ffd06dd..1e2a293 100644
--- a/include/mbedtls/pk.h
+++ b/include/mbedtls/pk.h
@@ -229,7 +229,7 @@
  *
  * \return          Key size in bits, or 0 on error
  */
-size_t mbedtls_pk_get_size( const mbedtls_pk_context *ctx );
+size_t mbedtls_pk_get_bitlen( const mbedtls_pk_context *ctx );
 
 /**
  * \brief           Get the length in bytes of the underlying key
@@ -239,7 +239,7 @@
  */
 static inline size_t mbedtls_pk_get_len( const mbedtls_pk_context *ctx )
 {
-    return( ( mbedtls_pk_get_size( ctx ) + 7 ) / 8 );
+    return( ( mbedtls_pk_get_bitlen( ctx ) + 7 ) / 8 );
 }
 
 /**
