2014-01-24 3 views
5

Ich versuche, CPU-Leistung zu bewerten. Ich habe einen Intel (R) Xeon (R) Prozessor E5-1650 v2 @ 3.50GHz und lief den folgenden Befehl ein: openssl speed rsa -multi 12 2>&1 |tee openssl-log.txt und bekam die folgende Ausgabe:Interpretieren openssl Geschwindigkeit Ausgabe für RSA mit Multi-Option

    sign verify sign/s verify/s 
rsa 512 bits 0.000008s 0.000001s 118050.6 1200000.0 
rsa 1024 bits 0.000038s 0.000002s 26098.7 451567.0 
rsa 2048 bits 0.000239s 0.000007s 4183.6 135606.3 
rsa 4096 bits 0.001713s 0.000028s 583.7 35778.4 

Kann jemand bitte helfen Sie mir die Ausgabe zu verstehen? Was bedeutet die Spalte signieren und verifizieren? Die Dokumentation scheint nicht viel zu erklären: https://www.openssl.org/docs/apps/speed.html

Vielen Dank im Voraus.

Antwort

5

Der Code für den Geschwindigkeitstest ist in <openssl>/apps/speed.c.

-multi ist ein Schalter für mehrere Benchmarks parallel, nicht Multiplikationen (um alle Verwirrung zu beseitigen). Siehe die Kommentare um die Linie 1145:

#ifndef NO_FORK 
    BIO_printf(bio_err,"-multi n  run n benchmarks in parallel.\n"); 
#endif 

Was bedeutet die Spalte Zeichen und überprüfen das?

Unterschreiben Sie und verifizieren Sie genau das, was sie sagen. Sie messen eine Signieroperation und eine Verifizierungsoperation mit verschiedenen RSA-Modulen.

Zeichen/s und Verify/s sind die Inversionen von Sign and Verify. D.h. 1/0,000008s => 125.000 Zeichen pro Sekunde.

Hier ist der Code zum Drucken des Berichts, den Sie sehen. Es beginnt um Zeile 2450:

#ifndef OPENSSL_NO_RSA 
    j=1; 
    for (k=0; k<RSA_NUM; k++) 
     { 
     if (!rsa_doit[k]) continue; 
     if (j && !mr) 
      { 
      printf("%18ssign verify sign/s verify/s\n"," "); 
      j=0; 
      } 
     if(mr) 
      fprintf(stdout,"+F2:%u:%u:%f:%f\n", 
       k,rsa_bits[k],rsa_results[k][0], 
       rsa_results[k][1]); 
     else 
      fprintf(stdout,"rsa %4u bits %8.6fs %8.6fs %8.1f %8.1f\n", 
       rsa_bits[k],rsa_results[k][0],rsa_results[k][1], 
       1.0/rsa_results[k][0],1.0/rsa_results[k][1]); 
     } 
#endif 

den Code zu finden, das Zeichen ausführen und überprüfen, wird dem Leser als Übung;)


haben einen Intel (R) Xeon (R) CPU E5-1650 v2 @ 3.50GHz

Gerade Fahrrad Abwurf, aber sicher sein, zu config mit enable-ec_nistp_64_gcc_128, wenn Sie einen modernen GCC verwenden. Die Verwendung von ec_nistp_64_gcc_128 beschleunigt einige Vorgänge, wie den DH-Betrieb, um 2x oder 4x.

Sie benötigen einen modernen GCC für die __uint128_t. Configure kann nicht feststellen, ob der Compiler __uint128_t allein unterstützt, so dass ec_nistp_64_gcc_128 deaktiviert bleibt.

Verwandte Themen