Implementation notes: amd64, panther, crypto_sign/ecdonaldk409

Computer: panther
Microarchitecture: amd64; Tiger Lake (806c1)
Architecture: amd64
CPU ID: GenuineIntel-000806c1-00-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_sign
Primitive: ecdonaldk409
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
83508213081 0 030315 1028 1784T:opensslnewgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
83896872684 0 026147 1020 1784T:opensslnewgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
83981072844 0 030351 1060 1784T:opensslnewclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
84120042839 0 027237 1052 1752T:opensslnewclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
84285292872 0 029775 1060 1752T:opensslnewclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
84357072844 0 030335 1060 1784T:opensslnewclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
84857653081 0 028243 1028 1784T:opensslnewgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
84882073553 0 028235 1028 1784T:opensslnewgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
85006122839 0 027021 1052 1752T:opensslnewclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Compiler output


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


signatureofshorthash.c: signatureofshorthash.c: In function 'crypto_sign_ecdonaldk409_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


signatureofshorthash.c: signatureofshorthash.c: In function 'crypto_sign_ecdonaldk409_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_ecdonaldk409_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)