Tempo de geração do DH Keypair no Android

Este é o código que estou usando para gerar um par de chaves DH:

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

(sem a tentativa / captura necessária, é claro).

Fiz alguns testes executando esse código de forma iterativa e variando o tamanho da chave (em particular, subindo de 128 com um passo de 128 até 1024. 1024 seria o tamanho desejado.

Primeiro, executar cada geração de tamanho 10 vezes para ter um desvio padrão mínimo nos resultados gera ALTA flutuação dos resultados, em média, de qualquer forma, o tempo necessário para criar as chaves (1024 bit) é: 683027ms, que arredonda para cerca de11 minutos para criar uma chave.

As perguntas são:

Mais alguém está obtendo os mesmos resultados?Existe alguma otimização a ser executada para obter tempos mais baixos?De que depende a alta flutuação? (ou seja, para gerar uma chave de 1024 bits, pode levar de 18 segundos a 30 minutos ...)

Os testes foram executados em um telefone Nexus-One

Agradecemos antecipadamente por esclarecer um pouco sobre o "problema"

Saudações

questionAnswers(1)

yourAnswerToTheQuestion