diff --git a/library/platform_util.c b/library/platform_util.c
index acb0ee6..691af71 100644
--- a/library/platform_util.c
+++ b/library/platform_util.c
@@ -171,19 +171,28 @@
     (void) max_rand;
     return -1;
 #else
-    size_t random_number;
+    size_t rn_1, rn_2, rn_3;
     volatile size_t i = 0;
+    uint8_t shift;
     if( max_rand == 0 || max_rand > INT_MAX )
     {
         return( -1 );
     }
 
-    random_number = mbedtls_platform_random_in_range( max_rand );
+    rn_1 = mbedtls_platform_random_in_range( max_rand );
+    rn_2 = mbedtls_platform_random_in_range( 0xffffffff ) + 1;
+    rn_3 = mbedtls_platform_random_in_range( 0xffffffff ) + 1;
 
     do
     {
         i++;
-    } while( i < random_number );
+        shift = rn_2 & 0x07;
+        if ( i % 2 )
+            rn_2 = (uint32_t)( rn_2 >> shift | rn_2 << ( 32 - shift ) );
+        else
+            rn_3 = (uint32_t)( rn_3 << shift | rn_3 >> ( 32 - shift ) );
+        rn_2 ^= rn_3;
+    } while( i < rn_1 || rn_2 == 0 || rn_3 == 0 );
 
     return( (int)i );
 #endif /* !MBEDTLS_ENTROPY_HARDWARE_ALT */
