Implementation notes: amd64, speed2supercop, crypto_sign/donald2048

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240425
Operation: crypto_sign
Primitive: donald2048
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
26148003309 0 026507 944 1600T:opensslnewgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
26384403169 0 022539 936 1600T:opensslnewgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
26406484140 0 025027 944 1600T:opensslnewgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
26441483309 0 024675 944 1600T:opensslnewgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
284086048985 24176 4401724123 165680 11320T:cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
284562061137 10080 4401715198 151680 11352T:cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
285274077958 10088 4401731363 151696 11352T:cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
285662481058 9704 4401733705 151472 11352T:cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keypair.c: keypair.c: In function 'crypto_sign_donald2048_openssl_timingleaks_keypair':
keypair.c: keypair.c:12:3: warning: 'DSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 12 | x = DSA_new();
keypair.c: | ^
keypair.c: In file included from keypair.c:2:
keypair.c: /usr/include/openssl/dsa.h:125:28: note: declared here
keypair.c: 125 | OSSL_DEPRECATEDIN_3_0 DSA *DSA_new(void);
keypair.c: | ^~~~~~~
keypair.c: keypair.c:18:4: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 18 | x->p = BN_new(); if (!x->p) goto error;
keypair.c: | ^~
keypair.c: keypair.c:18:26: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 18 | x->p = BN_new(); if (!x->p) goto error;
keypair.c: | ^~
keypair.c: keypair.c:19:4: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 19 | x->q = BN_new(); if (!x->q) goto error;
keypair.c: | ^~
keypair.c: keypair.c:19:26: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 19 | x->q = BN_new(); if (!x->q) goto error;
keypair.c: | ^~
keypair.c: keypair.c:20:4: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 20 | x->g = BN_new(); if (!x->g) goto error;
keypair.c: | ^~
keypair.c: keypair.c:20:26: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 20 | x->g = BN_new(); if (!x->g) goto error;
keypair.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:openssl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:openssl
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:openssl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:openssl

Compiler output

Implementation: T:opensslnew
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keypair.c: keypair.c: In function 'crypto_sign_donald2048_opensslnew_timingleaks_keypair':
keypair.c: keypair.c:20:3: warning: 'DSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 20 | x = DSA_new(); if (!x) goto error;
keypair.c: | ^
keypair.c: In file included from keypair.c:2:
keypair.c: /usr/include/openssl/dsa.h:125:28: note: declared here
keypair.c: 125 | OSSL_DEPRECATEDIN_3_0 DSA *DSA_new(void);
keypair.c: | ^~~~~~~
keypair.c: keypair.c:29:3: warning: 'DSA_set0_pqg' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 29 | if (!DSA_set0_pqg(x,p,q,g)) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/dsa.h:203:27: note: declared here
keypair.c: 203 | OSSL_DEPRECATEDIN_3_0 int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g);
keypair.c: | ^~~~~~~~~~~~
keypair.c: keypair.c:32:3: warning: 'DSA_generate_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 32 | if (!DSA_generate_key(x)) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/dsa.h:174:27: note: declared here
keypair.c: 174 | OSSL_DEPRECATEDIN_3_0 int DSA_generate_key(DSA *a);
keypair.c: | ^~~~~~~~~~~~~~~~
keypair.c: keypair.c:34:3: warning: 'DSA_get0_pub_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 34 | z = DSA_get0_pub_key(x);
keypair.c: | ^
keypair.c: /usr/include/openssl/dsa.h:211:37: note: declared here
keypair.c: 211 | OSSL_DEPRECATEDIN_3_0 const BIGNUM *DSA_get0_pub_key(const DSA *d);
keypair.c: ...
signatureofshorthash.c: signatureofshorthash.c: In function 'crypto_sign_donald2048_opensslnew_timingleaks_signatureofshorthash':
signatureofshorthash.c: signatureofshorthash.c:39:3: warning: 'DSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 39 | x = DSA_new(); if (!x) goto error;
signatureofshorthash.c: | ^
signatureofshorthash.c: In file included from signatureofshorthash.c:2:
signatureofshorthash.c: /usr/include/openssl/dsa.h:125:28: note: declared here
signatureofshorthash.c: 125 | OSSL_DEPRECATEDIN_3_0 DSA *DSA_new(void);
signatureofshorthash.c: | ^~~~~~~
signatureofshorthash.c: signatureofshorthash.c:41:3: warning: 'DSA_set0_pqg' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 41 | if (!DSA_set0_pqg(x,p,q,g)) goto error;
signatureofshorthash.c: | ^~
signatureofshorthash.c: /usr/include/openssl/dsa.h:203:27: note: declared here
signatureofshorthash.c: 203 | OSSL_DEPRECATEDIN_3_0 int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g);
signatureofshorthash.c: | ^~~~~~~~~~~~
signatureofshorthash.c: signatureofshorthash.c:51:3: warning: 'DSA_set0_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 51 | if (!DSA_set0_key(x,pub_key,priv_key)) goto error;
signatureofshorthash.c: | ^~
signatureofshorthash.c: /usr/include/openssl/dsa.h:206:27: note: declared here
signatureofshorthash.c: 206 | OSSL_DEPRECATEDIN_3_0 int DSA_set0_key(DSA *d, BIGNUM *pub_key,
signatureofshorthash.c: | ^~~~~~~~~~~~
signatureofshorthash.c: signatureofshorthash.c:54:3: warning: 'DSA_do_sign' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 54 | y = DSA_do_sign(h,20,x);
signatureofshorthash.c: | ^
signatureofshorthash.c: /usr/include/openssl/dsa.h:113:32: note: declared here
signatureofshorthash.c: 113 | OSSL_DEPRECATEDIN_3_0 DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen,
signatureofshorthash.c: ...
verification.c: verification.c: In function 'crypto_sign_donald2048_opensslnew_timingleaks_verification':
verification.c: verification.c:37:3: warning: 'DSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
verification.c: 37 | x = DSA_new(); if (!x) goto error;
verification.c: | ^
verification.c: In file included from verification.c:2:
verification.c: /usr/include/openssl/dsa.h:125:28: note: declared here
verification.c: 125 | OSSL_DEPRECATEDIN_3_0 DSA *DSA_new(void);
verification.c: | ^~~~~~~
verification.c: verification.c:38:3: warning: 'DSA_set0_pqg' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
verification.c: 38 | if (!DSA_set0_pqg(x,p,q,g)) goto error;
verification.c: | ^~
verification.c: /usr/include/openssl/dsa.h:203:27: note: declared here
verification.c: 203 | OSSL_DEPRECATEDIN_3_0 int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g);
verification.c: | ^~~~~~~~~~~~
verification.c: verification.c:44:3: warning: 'DSA_set0_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
verification.c: 44 | if (!DSA_set0_key(x,pub_key,0)) goto error;
verification.c: | ^~
verification.c: /usr/include/openssl/dsa.h:206:27: note: declared here
verification.c: 206 | OSSL_DEPRECATEDIN_3_0 int DSA_set0_key(DSA *d, BIGNUM *pub_key,
verification.c: | ^~~~~~~~~~~~
verification.c: verification.c:58:3: warning: 'DSA_do_verify' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
verification.c: 58 | switch(DSA_do_verify(h,20,y,x)) {
verification.c: | ^~~~~~
verification.c: /usr/include/openssl/dsa.h:115:27: note: declared here
verification.c: 115 | OSSL_DEPRECATEDIN_3_0 int DSA_do_verify(const unsigned char *dgst, int dgst_len,
verification.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opensslnew
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opensslnew
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opensslnew
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opensslnew