Implementation notes: amd64, alder, crypto_sign/ecdonaldk233

Computer: alder
Microarchitecture: amd64; Golden Cove (90675-00)
Architecture: amd64
CPU ID: GenuineIntel-00090675-00-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_sign
Primitive: ecdonaldk233
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
21866102909 0 027659 1028 1784T:opensslnewgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
21879732815 0 029418 1044 1752T:opensslnewclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
21895512759 0 029050 1044 1784T:opensslnewclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
21899002909 0 029635 1028 1784T:opensslnewgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
21948032779 0 026912 1036 1752T:opensslnewclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
21968962753 0 026584 1036 1752T:opensslnewclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
21987783455 0 027843 1028 1784T:opensslnewgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
21999282686 0 025883 1020 1784T:opensslnewgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
22177932770 0 029210 1044 1784T:opensslnewclang_-march=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_ecdonaldk233_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_ecdonaldk233_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_ecdonaldk233_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)