Время генерации DH Keypair на Android
Это код, который я использую для создания пары ключей DH:
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DH");
keyGen.initialize(1024, new SecureRandom());
KeyPair ackp = keyGen.generateKeyPair();
(без необходимости попробовать / поймать, конечно).
Я провел несколько тестов, запускающих такой код итеративно и меняющих размер ключа (в частности, увеличение от 128 с шагом 128 до 1024. 1024 будет желаемым размером).
Прежде всего, запуск каждого поколения по размеру 10 раз с минимальным отклонением стандартного отклонения результатов дает ВЫСОКУЮ флуктуацию результатов, в любом случае, в среднем, время, необходимое для создания ключей (1024 бит): 683027мс, округляется до11 минут для создания ключа.
Вопросы:
Кто-нибудь еще получает такие же результаты?Есть ли какая-то оптимизация для достижения более низких времен?От чего зависит высокая флуктуация? (т.е. для генерации 1024-битного ключа это может занять от 18 секунд до 30 минут ...)Тесты были проведены на телефоне Nexus-One
Заранее благодарим за то, что пролили свет на проблему
С уважением