Implementation notes: amd64, cezanne, crypto_sign/ecdonaldp256

Computer: cezanne
Microarchitecture: amd64; Zen 3 (a50f00)
Architecture: amd64
CPU ID: AuthenticAMD-00a50f00-178bfbff
SUPERCOP version: 20240625
Operation: crypto_sign
Primitive: ecdonaldp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3917122800 0 026142 1036 1720T:opensslnewclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3924602684 0 025369 1020 1752T:opensslnewgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3927582873 0 028777 1028 1752T:opensslnewgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3928192805 0 029208 1044 1752T:opensslnewclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3931162800 0 026382 1036 1720T:opensslnewclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3934572805 0 029096 1044 1752T:opensslnewclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3940653444 0 027265 1028 1752T:opensslnewgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3953472873 0 027145 1028 1752T:opensslnewgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3960882815 0 028888 1044 1720T:opensslnewclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
signatureofshorthash.c: signatureofshorthash.c:54:24: error: incomplete definition of type 'struct ECDSA_SIG_st'
signatureofshorthash.c:   len = BN_num_bytes(rs->r); if (len > PRIME_BYTES) goto rserror;
signatureofshorthash.c:                      ~~^
signatureofshorthash.c: /usr/include/openssl/bn.h:181:40: note: expanded from macro 'BN_num_bytes'
signatureofshorthash.c: # define BN_num_bytes(a) ((BN_num_bits(a)+7)/8)
signatureofshorthash.c:                                        ^
signatureofshorthash.c: /usr/include/openssl/ec.h:1130:16: note: forward declaration of 'struct ECDSA_SIG_st'
signatureofshorthash.c: typedef struct ECDSA_SIG_st ECDSA_SIG;
signatureofshorthash.c:                ^
signatureofshorthash.c: signatureofshorthash.c:55:15: error: incomplete definition of type 'struct ECDSA_SIG_st'
signatureofshorthash.c:   BN_bn2bin(rs->r,sm + PRIME_BYTES - len); sm += PRIME_BYTES;
signatureofshorthash.c:             ~~^
signatureofshorthash.c: /usr/include/openssl/ec.h:1130:16: note: forward declaration of 'struct ECDSA_SIG_st'
signatureofshorthash.c: typedef struct ECDSA_SIG_st ECDSA_SIG;
signatureofshorthash.c:                ^
signatureofshorthash.c: signatureofshorthash.c:57:24: error: incomplete definition of type 'struct ECDSA_SIG_st'
signatureofshorthash.c:   len = BN_num_bytes(rs->s); if (len > PRIME_BYTES) goto rserror;
signatureofshorthash.c:                      ~~^
signatureofshorthash.c: /usr/include/openssl/bn.h:181:40: note: expanded from macro 'BN_num_bytes'
signatureofshorthash.c: # define BN_num_bytes(a) ((BN_num_bits(a)+7)/8)
signatureofshorthash.c:                                        ^
signatureofshorthash.c: /usr/include/openssl/ec.h:1130:16: note: forward declaration of 'struct ECDSA_SIG_st'
signatureofshorthash.c: typedef struct ECDSA_SIG_st ECDSA_SIG;
signatureofshorthash.c:                ^
signatureofshorthash.c: signatureofshorthash.c:58:15: error: incomplete definition of type 'struct ECDSA_SIG_st'
signatureofshorthash.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_11.0.1)
T:opensslclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:opensslclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:opensslclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:opensslclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
signatureofshorthash.c: signatureofshorthash.c: In function 'crypto_sign_ecdonaldp256_openssl_timingleaks_signatureofshorthash':
signatureofshorthash.c: signatureofshorthash.c:39:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
signatureofshorthash.c:    39 |   if (!BN_bin2bn(sk,PRIME_BYTES,kx)) goto error; sk += PRIME_BYTES;
signatureofshorthash.c:       |   ^~
signatureofshorthash.c: signatureofshorthash.c:39:50: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
signatureofshorthash.c:    39 |   if (!BN_bin2bn(sk,PRIME_BYTES,kx)) goto error; sk += PRIME_BYTES;
signatureofshorthash.c:       |                                                  ^~
signatureofshorthash.c: signatureofshorthash.c:42:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
signatureofshorthash.c:    42 |   if (!BN_bin2bn(sk,PRIME_BYTES,kx)) goto error; sk += PRIME_BYTES;
signatureofshorthash.c:       |   ^~
signatureofshorthash.c: signatureofshorthash.c:42:50: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
signatureofshorthash.c:    42 |   if (!BN_bin2bn(sk,PRIME_BYTES,kx)) goto error; sk += PRIME_BYTES;
signatureofshorthash.c:       |                                                  ^~
signatureofshorthash.c: In file included from /usr/include/openssl/asn1.h:23,
signatureofshorthash.c:                  from /usr/include/openssl/objects.h:15,
signatureofshorthash.c:                  from signatureofshorthash.c:2:
signatureofshorthash.c: signatureofshorthash.c:54:24: error: invalid use of incomplete typedef 'ECDSA_SIG' {aka 'struct ECDSA_SIG_st'}
signatureofshorthash.c:    54 |   len = BN_num_bytes(rs->r); if (len > PRIME_BYTES) goto rserror;
signatureofshorthash.c:       |                        ^~
signatureofshorthash.c: signatureofshorthash.c:55:15: error: invalid use of incomplete typedef 'ECDSA_SIG' {aka 'struct ECDSA_SIG_st'}
signatureofshorthash.c:    55 |   BN_bn2bin(rs->r,sm + PRIME_BYTES - len); sm += PRIME_BYTES;
signatureofshorthash.c:       |               ^~
signatureofshorthash.c: In file included from /usr/include/openssl/asn1.h:23,
signatureofshorthash.c:                  from /usr/include/openssl/objects.h:15,
signatureofshorthash.c:                  from signatureofshorthash.c:2:
signatureofshorthash.c: ...

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

Compiler output

Implementation: T:opensslnew
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
signatureofshorthash.c: signatureofshorthash.c: In function 'crypto_sign_ecdonaldp256_opensslnew_timingleaks_signatureofshorthash':
signatureofshorthash.c: signatureofshorthash.c:41:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
signatureofshorthash.c:    41 |   if (!BN_bin2bn(sk,PRIME_BYTES,kx)) goto error; sk += PRIME_BYTES;
signatureofshorthash.c:       |   ^~
signatureofshorthash.c: signatureofshorthash.c:41:50: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
signatureofshorthash.c:    41 |   if (!BN_bin2bn(sk,PRIME_BYTES,kx)) goto error; sk += PRIME_BYTES;
signatureofshorthash.c:       |                                                  ^~
signatureofshorthash.c: signatureofshorthash.c:44:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
signatureofshorthash.c:    44 |   if (!BN_bin2bn(sk,PRIME_BYTES,kx)) goto error; sk += PRIME_BYTES;
signatureofshorthash.c:       |   ^~
signatureofshorthash.c: signatureofshorthash.c:44:50: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
signatureofshorthash.c:    44 |   if (!BN_bin2bn(sk,PRIME_BYTES,kx)) goto error; sk += PRIME_BYTES;
signatureofshorthash.c:       |                                                  ^~
verification.c: verification.c: In function 'crypto_sign_ecdonaldp256_opensslnew_timingleaks_verification':
verification.c: verification.c:39:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
verification.c:    39 |   if (!BN_bin2bn(pk,PRIME_BYTES,kx)) goto error; pk += PRIME_BYTES;
verification.c:       |   ^~
verification.c: verification.c:39:50: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
verification.c:    39 |   if (!BN_bin2bn(pk,PRIME_BYTES,kx)) goto error; pk += PRIME_BYTES;
verification.c:       |                                                  ^~
verification.c: verification.c:50:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
verification.c:    50 |   if (!BN_bin2bn(sm,PRIME_BYTES,r)) goto error; sm += PRIME_BYTES;
verification.c:       |   ^~
verification.c: verification.c:50:49: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
verification.c:    50 |   if (!BN_bin2bn(sm,PRIME_BYTES,r)) goto error; sm += PRIME_BYTES;
verification.c:       |                                                 ^~

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