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.