Implementation notes: amd64, speed2supercop, crypto_sign/donald512

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240808
Operation: crypto_sign
Primitive: donald512

Test failure


error 111
crypto_sign_keypair returns nonzero

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:opensslnewclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:opensslnewclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:opensslnewclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:opensslnewclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:opensslnewclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:opensslnewgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:opensslnewgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:opensslnewgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:opensslnewgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)

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:130: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:194: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:141: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:141: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_16.0.6_(27+b1))
T:opensslclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:opensslclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:opensslclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:opensslclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


keypair.c: keypair.c: In function 'crypto_sign_donald512_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:130:28: note: declared here
keypair.c:   130 | 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 (13.3.0)
T:opensslgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:opensslgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:opensslgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.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:130: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:194: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:208: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:194: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: ...
signatureofshorthash.c: signatureofshorthash.c:39:7: warning: 'DSA_new' is deprecated [-Wdeprecated-declarations]
signatureofshorthash.c:   x = DSA_new(); if (!x) goto error;
signatureofshorthash.c:       ^
signatureofshorthash.c: /usr/include/openssl/dsa.h:130:1: note: 'DSA_new' has been explicitly marked deprecated here
signatureofshorthash.c: OSSL_DEPRECATEDIN_3_0 DSA *DSA_new(void);
signatureofshorthash.c: ^
signatureofshorthash.c: /usr/include/openssl/macros.h:194:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
signatureofshorthash.c: #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
signatureofshorthash.c:                                                 ^
signatureofshorthash.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
signatureofshorthash.c: #     define OSSL_DEPRECATED(since) __attribute__((deprecated))
signatureofshorthash.c:                                                    ^
signatureofshorthash.c: signatureofshorthash.c:41:8: warning: 'DSA_set0_pqg' is deprecated [-Wdeprecated-declarations]
signatureofshorthash.c:   if (!DSA_set0_pqg(x,p,q,g)) goto error;
signatureofshorthash.c:        ^
signatureofshorthash.c: /usr/include/openssl/dsa.h:208:1: note: 'DSA_set0_pqg' has been explicitly marked deprecated here
signatureofshorthash.c: OSSL_DEPRECATEDIN_3_0 int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g);
signatureofshorthash.c: ^
signatureofshorthash.c: /usr/include/openssl/macros.h:194:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
signatureofshorthash.c: #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
signatureofshorthash.c:                                                 ^
signatureofshorthash.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
signatureofshorthash.c: #     define OSSL_DEPRECATED(since) __attribute__((deprecated))
signatureofshorthash.c:                                                    ^
signatureofshorthash.c: signatureofshorthash.c:51:8: warning: 'DSA_set0_key' is deprecated [-Wdeprecated-declarations]
signatureofshorthash.c: ...
verification.c: verification.c:37:7: warning: 'DSA_new' is deprecated [-Wdeprecated-declarations]
verification.c:   x = DSA_new(); if (!x) goto error;
verification.c:       ^
verification.c: /usr/include/openssl/dsa.h:130:1: note: 'DSA_new' has been explicitly marked deprecated here
verification.c: OSSL_DEPRECATEDIN_3_0 DSA *DSA_new(void);
verification.c: ^
verification.c: /usr/include/openssl/macros.h:194:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
verification.c: #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
verification.c:                                                 ^
verification.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
verification.c: #     define OSSL_DEPRECATED(since) __attribute__((deprecated))
verification.c:                                                    ^
verification.c: verification.c:38:8: warning: 'DSA_set0_pqg' is deprecated [-Wdeprecated-declarations]
verification.c:   if (!DSA_set0_pqg(x,p,q,g)) goto error;
verification.c:        ^
verification.c: /usr/include/openssl/dsa.h:208:1: note: 'DSA_set0_pqg' has been explicitly marked deprecated here
verification.c: OSSL_DEPRECATEDIN_3_0 int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g);
verification.c: ^
verification.c: /usr/include/openssl/macros.h:194:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
verification.c: #   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
verification.c:                                                 ^
verification.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
verification.c: #     define OSSL_DEPRECATED(since) __attribute__((deprecated))
verification.c:                                                    ^
verification.c: verification.c:44:8: warning: 'DSA_set0_key' is deprecated [-Wdeprecated-declarations]
verification.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_16.0.6_(27+b1))
T:opensslnewclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:opensslnewclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:opensslnewclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:opensslnewclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


keypair.c: keypair.c: In function 'crypto_sign_donald512_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:130:28: note: declared here
keypair.c:   130 | 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:208:27: note: declared here
keypair.c:   208 | 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:179:27: note: declared here
keypair.c:   179 | 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:216:37: note: declared here
keypair.c:   216 | 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[84]' 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_donald512_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:130: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[64]' 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_donald512_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:130: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 (13.3.0)
T:opensslnewgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:opensslnewgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:opensslnewgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)