Implementation notes: amd64, cezanne, crypto_sign/ronald512

Computer: cezanne
Microarchitecture: amd64; Zen 3 (a50f00)
Architecture: amd64
CPU ID: AuthenticAMD-00a50f00-178bfbff
SUPERCOP version: 20240625
Operation: crypto_sign
Primitive: ronald512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3506132596 0 024742 980 1752T:opensslnewgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
3519753590 0 029449 1004 1752T:opensslnewclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
3520442909 0 025687 996 1720T:opensslnewclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
3528623049 0 028422 988 1752T:opensslnewgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
3534443590 0 029337 1004 1752T:opensslnewclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
3543073055 0 026774 988 1752T:opensslnewgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
3549353438 0 028937 1004 1720T:opensslnewclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
3554113105 0 026183 996 1720T:opensslnewclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
3557873251 0 026550 988 1752T:opensslnewgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625

Compiler output


keypair.c: keypair.c:15:7: warning: 'RSA_generate_key' is deprecated [-Wdeprecated-declarations]
keypair.c:   r = RSA_generate_key(MODULUS_BYTES * 8,3,0,0);
keypair.c:       ^
keypair.c: /usr/include/openssl/rsa.h:235:1: note: 'RSA_generate_key' has been explicitly marked deprecated here
keypair.c: DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
keypair.c: ^
keypair.c: /usr/include/x86_64-linux-gnu/openssl/opensslconf.h:172:34: note: expanded from macro 'DEPRECATEDIN_0_9_8'
keypair.c: # define DEPRECATEDIN_0_9_8(f)   DECLARE_DEPRECATED(f)
keypair.c:                                  ^
keypair.c: /usr/include/x86_64-linux-gnu/openssl/opensslconf.h:118:55: note: expanded from macro 'DECLARE_DEPRECATED'
keypair.c: #   define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
keypair.c:                                                       ^
keypair.c: keypair.c:20:23: error: incomplete definition of type 'struct rsa_st'
keypair.c:   len = BN_num_bytes(r->n); if (len > MODULUS_BYTES) goto error;
keypair.c:                      ~^
keypair.c: /usr/include/openssl/bn.h:181:40: note: expanded from macro 'BN_num_bytes'
keypair.c: # define BN_num_bytes(a) ((BN_num_bits(a)+7)/8)
keypair.c:                                        ^
keypair.c: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
keypair.c: typedef struct rsa_st RSA;
keypair.c:                ^
keypair.c: keypair.c:21:36: error: incomplete definition of type 'struct rsa_st'
keypair.c:   out += MODULUS_BYTES; BN_bn2bin(r->n,out - len);
keypair.c:                                   ~^
keypair.c: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_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_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


keypair.c: keypair.c: In function 'crypto_sign_ronald512_openssl_timingleaks_keypair':
keypair.c: keypair.c:15:3: warning: 'RSA_generate_key' is deprecated [-Wdeprecated-declarations]
keypair.c:    15 |   r = RSA_generate_key(MODULUS_BYTES * 8,3,0,0);
keypair.c:       |   ^
keypair.c: In file included from /usr/include/openssl/rsa.h:13,
keypair.c:                  from keypair.c:2:
keypair.c: /usr/include/openssl/rsa.h:235:1: note: declared here
keypair.c:   235 | DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
keypair.c:       | ^~~~~~~~~~~~~~~~~~
keypair.c: In file included from /usr/include/openssl/asn1.h:23,
keypair.c:                  from /usr/include/openssl/rsa.h:16,
keypair.c:                  from keypair.c:2:
keypair.c: keypair.c:20:23: error: invalid use of incomplete typedef 'RSA' {aka 'struct rsa_st'}
keypair.c:    20 |   len = BN_num_bytes(r->n); if (len > MODULUS_BYTES) goto error;
keypair.c:       |                       ^~
keypair.c: keypair.c:21:36: error: invalid use of incomplete typedef 'RSA' {aka 'struct rsa_st'}
keypair.c:    21 |   out += MODULUS_BYTES; BN_bn2bin(r->n,out - len);
keypair.c:       |                                    ^~
keypair.c: In file included from /usr/include/openssl/asn1.h:23,
keypair.c:                  from /usr/include/openssl/rsa.h:16,
keypair.c:                  from keypair.c:2:
keypair.c: keypair.c:23:23: error: invalid use of incomplete typedef 'RSA' {aka 'struct rsa_st'}
keypair.c:    23 |   len = BN_num_bytes(r->e); if (len > MODULUS_BYTES) goto error;
keypair.c:       |                       ^~
keypair.c: keypair.c:24:36: error: invalid use of incomplete typedef 'RSA' {aka 'struct rsa_st'}
keypair.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


signedshortmessage.c: signedshortmessage.c:25:7: warning: unused variable 'len' [-Wunused-variable]
signedshortmessage.c:   int len;
signedshortmessage.c:       ^
signedshortmessage.c: 1 warning generated.

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

Compiler output


signedshortmessage.c: signedshortmessage.c: In function 'crypto_sign_ronald512_opensslnew_timingleaks_signedshortmessage':
signedshortmessage.c: signedshortmessage.c:25:7: warning: unused variable 'len' [-Wunused-variable]
signedshortmessage.c:    25 |   int len;
signedshortmessage.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)