Perchè eseguire OpenSSL dhparam è troppo veloce?

3

Ho appena generato i parametri Diffie-Hellman e sembrava troppo veloce. Il tutto è finito in meno di un secondo:

$ openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
This is going to take a long time
..............................................+.++*++*
$

Sono in esecuzione su un'istanza relativamente recente di t2.medium ECS (2 VCPU, 4 GB RAM).

Quindi l'ho eseguito di nuovo e questa volta ha stampato 5918 caratteri e ha impiegato circa 30 secondi.

Che cosa è successo la prima volta?

    
posta Simon Woodside 10.05.2016 - 07:35
fonte

1 risposta

4

Durante la creazione dei parametri di Diffie Hellman ci vuole più tempo per creare il modulo p , che è un grande numero primo. Per creare questo, viene preso un numero semi-casuale e controllato per la primalità. Se sei fortunato e scegli presto un numero primo, l'algoritmo termina rapidamente.

In particolare:

  • BN_generate_prime_ex chiama probable_prime_dh_safe che prende un numero casuale e controlla se è divisibile per i primi primi 2048. Se lo è, prende un altro numero casuale, ecc. Se trova un probabile numero primo, stampa un punto.
  • Chiama BN_is_prime_fasttest_ex , che fa Test di primalità di Miller-Rabin . Stampa un '+' se il valore testato è primo.
  • Verifica sia p che (p-1)/2 in questo modo e stampa * se entrambi sono primi. Lo mette alla prova un paio di volte per essere davvero sicuro. Per 2048 bit, controlla due volte . Ecco perché vedi ++*++* alla fine dell'output.

Ripete questi passaggi finché non trova un numero che è molto probabile che sia primo. Quanti loop sono necessari dipende dal caso.

Documenti Openssl

    
risposta data 10.05.2016 - 13:58
fonte

Leggi altre domande sui tag