Implementation notes: amd64, comet, crypto_sign/donald2048

Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_sign
Primitive: donald2048
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
17410813405 0 027026 972 1760T:opensslnewgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
17459734231 0 025586 972 1760T:opensslnewgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
17541623405 0 025138 972 1760T:opensslnewgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
17597553169 0 022970 964 1760T:opensslnewgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
195870662872 12080 3921742954 153644 11392T:cryptoppclang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
196111459278 12080 3921736738 153644 11360T:cryptoppclang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
196248950109 12080 3921720110 153652 11392T:cryptoppclang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
196510762574 16112 3921747634 157340 11328T:cryptoppclang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
197735381172 9704 4401736070 151492 11520T:cryptoppg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
197750178086 10088 4401733696 151716 11520T:cryptoppg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
198118948974 24176 4401726316 165700 11488T:cryptoppg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625
198283761225 10080 4401717455 151700 11520T:cryptoppg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070120240625

Compiler output


keypair.c: keypair.c:12:7: warning: 'DSA_new' is deprecated [-Wdeprecated-declarations]
keypair.c:   x = DSA_new();
keypair.c:       ^
keypair.c: /usr/include/openssl/dsa.h:125:1: note: 'DSA_new' has been explicitly marked deprecated here
keypair.c: OSSL_DEPRECATEDIN_3_0 DSA *DSA_new(void);
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
keypair.c:                                                 ^
keypair.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
keypair.c: #     define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c:                                                    ^
keypair.c: keypair.c:18:4: error: incomplete definition of type 'struct dsa_st'
keypair.c:   x->p = BN_new(); if (!x->p) goto error;
keypair.c:   ~^
keypair.c: /usr/include/openssl/types.h:138:16: note: forward declaration of 'struct dsa_st'
keypair.c: typedef struct dsa_st DSA;
keypair.c:                ^
keypair.c: keypair.c:18:26: error: incomplete definition of type 'struct dsa_st'
keypair.c:   x->p = BN_new(); if (!x->p) goto error;
keypair.c:                         ~^
keypair.c: /usr/include/openssl/types.h:138:16: note: forward declaration of 'struct dsa_st'
keypair.c: typedef struct dsa_st DSA;
keypair.c:                ^
keypair.c: keypair.c:19:4: error: incomplete definition of type 'struct dsa_st'
keypair.c: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:opensslclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:opensslclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:opensslclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:opensslclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:opensslclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)

Compiler output


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 (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:opensslgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:opensslgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:opensslgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:opensslgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Compiler output


keypair.c: keypair.c:20:7: warning: 'DSA_new' is deprecated [-Wdeprecated-declarations]
keypair.c:   x = DSA_new(); if (!x) goto error;
keypair.c:       ^
keypair.c: /usr/include/openssl/dsa.h:125:1: note: 'DSA_new' has been explicitly marked deprecated here
keypair.c: OSSL_DEPRECATEDIN_3_0 DSA *DSA_new(void);
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
keypair.c:                                                 ^
keypair.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
keypair.c: #     define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c:                                                    ^
keypair.c: keypair.c:29:8: warning: 'DSA_set0_pqg' is deprecated [-Wdeprecated-declarations]
keypair.c:   if (!DSA_set0_pqg(x,p,q,g)) goto error;
keypair.c:        ^
keypair.c: /usr/include/openssl/dsa.h:203:1: note: 'DSA_set0_pqg' has been explicitly marked deprecated here
keypair.c: OSSL_DEPRECATEDIN_3_0 int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g);
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
keypair.c:                                                 ^
keypair.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
keypair.c: #     define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c:                                                    ^
keypair.c: keypair.c:32:8: warning: 'DSA_generate_key' is deprecated [-Wdeprecated-declarations]
keypair.c: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:opensslnewclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:opensslnewclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:opensslnewclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:opensslnewclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:opensslnewclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)

Compiler output


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:10:19: warning: argument 1 of type 'unsigned char[40]' with mismatched bound [-Warray-parameter=]
signatureofshorthash.c:    10 |     unsigned char sm[SIGNATURE_BYTES],unsigned long long *smlen,
signatureofshorthash.c:       |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
signatureofshorthash.c: In file included from signatureofshorthash.c:7:
signatureofshorthash.c: short.h:7:33: note: previously declared as 'unsigned char *'
signatureofshorthash.c:     7 | extern int signatureofshorthash(unsigned char *,unsigned long long *,
signatureofshorthash.c:       |                                 ^~~~~~~~~~~~~~~
signatureofshorthash.c: signatureofshorthash.c:11:25: warning: argument 3 of type 'const unsigned char[64]' with mismatched bound [-Warray-parameter=]
signatureofshorthash.c:    11 |     const unsigned char m[SHORTHASH_BYTES],const unsigned long long mlen,
signatureofshorthash.c:       |     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
signatureofshorthash.c: short.h:8:3: note: previously declared as 'const unsigned char *'
signatureofshorthash.c:     8 |   const unsigned char *,unsigned long long,
signatureofshorthash.c:       |   ^~~~~~~~~~~~~~~~~~~~~
signatureofshorthash.c: signatureofshorthash.c:12:25: warning: argument 5 of type 'const unsigned char[276]' with mismatched bound [-Warray-parameter=]
signatureofshorthash.c:    12 |     const unsigned char sk[SECRETKEY_BYTES],const unsigned long long sklen
signatureofshorthash.c:       |     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
signatureofshorthash.c: short.h:9:3: note: previously declared as 'const unsigned char *'
signatureofshorthash.c:     9 |   const unsigned char *,unsigned long long);
signatureofshorthash.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: ...
verification.c: verification.c:9:25: warning: argument 1 of type 'const unsigned char[64]' with mismatched bound [-Warray-parameter=]
verification.c:     9 |     const unsigned char m[SHORTHASH_BYTES],const unsigned long long mlen,
verification.c:       |     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
verification.c: In file included from verification.c:6:
verification.c: short.h:10:25: note: previously declared as 'const unsigned char *'
verification.c:    10 | extern int verification(const unsigned char *,unsigned long long,
verification.c:       |                         ^~~~~~~~~~~~~~~~~~~~~
verification.c: verification.c:10:25: warning: argument 3 of type 'const unsigned char[40]' with mismatched bound [-Warray-parameter=]
verification.c:    10 |     const unsigned char sm[SIGNATURE_BYTES],const unsigned long long smlen,
verification.c:       |     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
verification.c: short.h:11:3: note: previously declared as 'const unsigned char *'
verification.c:    11 |   const unsigned char *,unsigned long long,
verification.c:       |   ^~~~~~~~~~~~~~~~~~~~~
verification.c: verification.c:11:25: warning: argument 5 of type 'const unsigned char[256]' with mismatched bound [-Warray-parameter=]
verification.c:    11 |     const unsigned char pk[PUBLICKEY_BYTES],const unsigned long long pklen
verification.c:       |     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
verification.c: short.h:12:3: note: previously declared as 'const unsigned char *'
verification.c:    12 |   const unsigned char *,unsigned long long);
verification.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: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:opensslnewgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:opensslnewgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:opensslnewgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:opensslnewgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)