diff --git a/java/android/OlmLibSdk/olm-sdk/src/main/java/org/matrix/olm/OlmUtility.java b/java/android/OlmLibSdk/olm-sdk/src/main/java/org/matrix/olm/OlmUtility.java
index 287a9d28b75f1ca47b273444adfcdcb45681ab2b..d3c185f44981556031e5b98382f2dcf6b8515574 100644
--- a/java/android/OlmLibSdk/olm-sdk/src/main/java/org/matrix/olm/OlmUtility.java
+++ b/java/android/OlmLibSdk/olm-sdk/src/main/java/org/matrix/olm/OlmUtility.java
@@ -20,7 +20,7 @@ package org.matrix.olm;
 import android.text.TextUtils;
 import android.util.Log;
 
-import java.util.Random;
+import java.security.SecureRandom;
 
 /**
  * Olm SDK helper class.
@@ -138,16 +138,10 @@ public class OlmUtility {
      * @return string containing randoms integer values
      */
     public static String getRandomKey() {
-        String keyRetValue;
-        Random rand = new Random();
-        StringBuilder strBuilder = new StringBuilder();
-
-        for(int i = 0; i< RANDOM_KEY_SIZE; i++) {
-            strBuilder.append(rand.nextInt(RANDOM_RANGE));
-        }
-        keyRetValue = strBuilder.toString();
-
-        return keyRetValue;
+        SecureRandom secureRandom = new SecureRandom();
+        byte[] buffer = new byte[RANDOM_KEY_SIZE];
+        secureRandom.nextBytes(buffer);
+        return new String(buffer);
     }
 
     /**