Tiempo de generación de DH Keypair en Android

Este es el código que estoy usando para generar un par de claves DH:

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DH");
keyGen.initialize(1024, new SecureRandom());
KeyPair ackp = keyGen.generateKeyPair();

(sin el try / catch necesario, por supuesto).

He realizado algunas pruebas ejecutando dicho código de forma iterativa y variando el tamaño de la clave (en particular, aumentando de 128 con un paso de 128 a 1024. 1024 sería el tamaño deseado.

En primer lugar, ejecutar cada generación de tamaño 10 veces para tener una desviación estándar mínima en los resultados da una ALTA fluctuación de resultados, en promedio, de todos modos, el tiempo necesario para crear las claves (1024 bit) es: 683027 ms, que se redondea a alrededor11 minutos para crear una clave

Las preguntas son:

¿Alguien más está obteniendo los mismos resultados?¿Hay alguna optimización que se ejecute para lograr tiempos más bajos?¿De qué depende la alta fluctuación? (es decir, para generar una clave de 1024 bits puede tomar de 18 segundos a 30 minutos ...)

Se han realizado pruebas en un teléfono Nexus-One

Gracias de antemano por arrojar algo de luz sobre el "problema"

Saludos

Respuestas a la pregunta(1)

Su respuesta a la pregunta