Tempo di generazione di DH Keypair su Android

Questo è il codice che sto usando per generare un keypair DH:

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

(senza il tentativo / cattura necessari, ovviamente).

  • Come fare lo streaming con i file .pls in android?
  • Eclipse non lancia (Ubuntu): JVM terminato. Esci codice = 2
  • Come impostare l'image dynamic da disegnare in android?
  • Problemi di debug (Android Eclipse)
  • Dinamica Il formato del text cambia in base alla tavoletta
  • Spessore bordo nero / bordo attorno ad un'applicazione React Native su Android
  • Ho eseguito alcune prove che eseguono tale codice in modo iterativo e variando le size chiave (in particolare aumentando da 128 con un passo 128 fino a 1024. 1024 sarebbe la dimensione desiderata.

    Innanzitutto, la generazione di each dimensione 10 volte per avere una scarsa deviazione standard sui risultati dà HIGH fluttuazione dei risultati, in media, in each caso, il tempo necessario per la creazione di chiavi ( 1024 bit ) è: 683027ms, che si arrotola in giro 11 minuti per la creazione di una chiave.

    Le domande sono:

    1. Qualcun altro ha ottenuto gli stessi risultati?
    2. C'è qualche ottimizzazione da eseguire per get tempi inferiori?
    3. Qual è la dipendenza dall'alto fluttuazione? (cioè per generare una chiave da 1024bit può richiedere da 18 secondi a 30 minuti …)

    I test sono stati eseguiti su un telefono Nexus-One

    Grazie in anticipo per spargere una certa luce sul "problema"

    Saluti

  • Configurazione del dispositivo Android per AOSP
  • Hardware debug utilizzando Samsung Galaxy S3 in Windows
  • Gli oggetti iniettati sono diventati nulli dopo l'aggiornamento a Roboguice 3
  • Problemi di qualità bitmap Android
  • Come effettuare una telefonata utilizzando intenti in Android?
  • errore di tutorial di helloandroid: il tempo di richiesta non è riuscito
  • One Solution collect form web for “Tempo di generazione di DH Keypair su Android”

    Ho fatto qualche ulteriore codifica / ricerca e apparentemente la chiamata che è il più tempo (batteria?) Che consuma è:

     new SecureRandom() 

    In particolare, però, dato che per DH i parametri (g, p, l) possono essere pre-calcolati e codificati, è un suggerimento saggio per farlo in anticipo e utilizzare i valori generati per generare la coppia di chiavi (che sarà quasi istantanea ).

    Codice di esempio:

     KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DH"); keyGen.initialize(new DHParameterSpec(p, g, l)); KeyPair ackp = keyGen.generateKeyPair(); 

    Dove p, g, e l sono:

     final BigInteger p = new BigInteger("X"); final BigInteger g = new BigInteger("Y"); final int l = 1023; 

    E X e Y possono essere generati offline con:

     AlgorithmParameterGenerator paramGen = AlgorithmParameterGenerator.getInstance("DH"); paramGen.init(1024, new SecureRandom()); AlgorithmParameters params = paramGen.generateParameters(); DHParameterSpec dhSpec = (DHParameterSpec)params.getParameterSpec(DHParameterSpec.class); System.out.println("p: " + dhSpec.getP() + "\ng: " + dhSpec.getG() + " \nl: " + dhSpec.getL()); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.