pqc-thunderbird / libgcrypt

GNU General Public License v2.0
1 stars 0 forks source link

Shorter Tests for SLH-DSA #54

Closed falko-strenzke closed 9 months ago

falko-strenzke commented 9 months ago

The tests for SLH-DSA are running much too long. They should run under 1 minute. If extensive tests seem necessary, they can be invoked by specifying this as a command line option. @TJ-91

TJ-91 commented 9 months ago

added --full and now only SHA2-128s and SHAKE-128f are run per default.

falko-strenzke commented 9 months ago

kann man nicht für jeden Parameter einen Test gen-sign-verify laufen lassen? Das sollte doch im zeitlichen Rahmen sein, oder nicht?

falko-strenzke commented 9 months ago

OK, das ist was bei --full jetzt passiert. Denke ich sollte man als Default lassen. Vorher waren es 10 Iterationen, dadurch war es zu lang.

TJ-91 commented 9 months ago

Ich habe es gerade ausprobiert, es sind tatsächlich nur ca. 40 Sekunden auf meinem Rechner für alle Varianten, ich hätte mit mehr gerechnet. Allerdings ist das mit AVX2, ohne AVX2 dauert es sicher deutlich über einer Minute, ich denke eher so 2-3.

Ich würde es jetzt so ändern wie du gesagt hast (alle Parametersets 1 mal), das ist insgesamt denke ich am sinnvollsten.

TJ-91 commented 9 months ago

ist gepusht.

falko-strenzke commented 9 months ago

Ich habe es gerade ausprobiert, es sind tatsächlich nur ca. 40 Sekunden auf meinem Rechner für alle Varianten, ich hätte mit mehr gerechnet. Allerdings ist das mit AVX2, ohne AVX2 dauert es sicher deutlich über einer Minute, ich denke eher so 2-3.

Dann mach doch villeicht noch einen CLI parameter "--short" (oder "--fast") wo nur der kleinste Parametersatz getestet wird. Aber ich denke der normale Aufruf sollte in jedem Fall alle Parameter einmal durchlaufen, sonst ist die Aussagekraft zu begrenzt.

TJ-91 commented 9 months ago

Alle Parametersets sind ca. 4 min ohne AVX2.

Ich habe es mit --short implementiert und gepusht und habe alle 4 "128er Parametersets" eingebaut. Das braucht ca 50s (mit AVX2 <10s)

Es ist zwar immer noch grenzwertig für langsamere Systeme als meins (ohne AVX2), aber ich denke in Ordnung. Ansonsten kann ich die "128s" auch weglassen und nur die beiden "128f" testen.