diff --git a/include/mbedtls/platform_util.h b/include/mbedtls/platform_util.h
index e20f1c3..d6ee886 100644
--- a/include/mbedtls/platform_util.h
+++ b/include/mbedtls/platform_util.h
@@ -239,6 +239,21 @@
 uint32_t mbedtls_platform_random_in_range( size_t num );
 
 /**
+ * \brief       Random delay function.
+ *
+ *              Function implements random delay by incrementing local variable
+ *              randomized number of times.
+ *
+ * \note        Currently the function is dependent of hardware providing an
+ *              rng with MBEDTLS_ENTROPY_HARDWARE_ALT.
+ *
+ * \param num   Max-value for the local variable increments.
+ *
+ * \return      In success number of increments, -1 in case of errors.
+ */
+int mbedtls_platform_random_delay( size_t num );
+
+/**
  * \brief       This function does nothing, but can be inserted between
  *              successive reads to a volatile local variable to prevent
  *              compilers from optimizing them away.
diff --git a/library/platform_util.c b/library/platform_util.c
index 16867aa..5a6fc20 100644
--- a/library/platform_util.c
+++ b/library/platform_util.c
@@ -165,6 +165,29 @@
 #endif
 }
 
+int mbedtls_platform_random_delay( size_t max_rand )
+{
+#if !defined(MBEDTLS_ENTROPY_HARDWARE_ALT)
+    (void) max_rand;
+    return -1;
+#else
+    size_t random_number;
+    volatile size_t i = 0;
+    if( max_rand == 0 || max_rand > INT_MAX )
+    {
+        return -1;
+    }
+
+    random_number = mbedtls_platform_random_in_range( max_rand );
+
+    do {
+        i++;
+    } while ( i < random_number );
+
+    return (int) i;
+#endif /* !MBEDTLS_ENTROPY_HARDWARE_ALT */
+}
+
 /* Some compilers (armcc 5 for example) optimize away successive reads from a
  * volatile local variable (which we use as a counter-measure to fault
  * injection attacks), unless there is a call to an external function between
