Implementation notes: amd64, hertz, crypto_sign/ronald768

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240425
Operation: crypto_sign
Primitive: ronald768
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5718293225 0 034226 1020 1800T:opensslnewgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
5736783221 0 036218 1020 1832T:opensslnewgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
5768372859 0 032314 1012 1800T:opensslnewgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.c: keypair.c:15:7: 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: /usr/include/openssl/rsa.h:253:1: note: 'RSA_generate_key' has been explicitly marked deprecated here
keypair.c: 253 | OSSL_DEPRECATEDIN_0_9_8 RSA *RSA_generate_key(int bits, unsigned long e, void
keypair.c: | ^
keypair.c: /usr/include/openssl/macros.h:248:49: note: expanded from macro 'OSSL_DEPRECATEDIN_0_9_8'
keypair.c: 248 | # define OSSL_DEPRECATEDIN_0_9_8 OSSL_DEPRECATED(0.9.8)
keypair.c: | ^
keypair.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
keypair.c: 62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: | ^
keypair.c: keypair.c:18:7: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
keypair.c: 18 | if (RSA_size(r) != MODULUS_BYTES) goto error;
keypair.c: | ^
keypair.c: /usr/include/openssl/rsa.h:204:1: note: 'RSA_size' has been explicitly marked deprecated here
keypair.c: 204 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
keypair.c: | ^
keypair.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: 182 | # 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: 62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: | ^
keypair.c: keypair.c:20:23: error: incomplete definition of type 'struct rsa_st'
keypair.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:openssl
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:openssl
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:openssl

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keypair.c: keypair.c: In function 'crypto_sign_ronald768_openssl_timingleaks_keypair':
keypair.c: keypair.c:15:3: warning: 'RSA_generate_key' is deprecated: Since OpenSSL 0.9.8 [-Wdeprecated-declarations]
keypair.c: 15 | r = RSA_generate_key(MODULUS_BYTES * 8,3,0,0);
keypair.c: | ^
keypair.c: In file included from keypair.c:2:
keypair.c: /usr/include/openssl/rsa.h:253:30: note: declared here
keypair.c: 253 | OSSL_DEPRECATEDIN_0_9_8 RSA *RSA_generate_key(int bits, unsigned long e, void
keypair.c: | ^~~~~~~~~~~~~~~~
keypair.c: keypair.c:18:3: warning: 'RSA_size' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 18 | if (RSA_size(r) != MODULUS_BYTES) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/rsa.h:204:27: note: declared here
keypair.c: 204 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
keypair.c: | ^~~~~~~~
keypair.c: In file included from /usr/include/openssl/asn1.h:33,
keypair.c: from /usr/include/openssl/rsa.h:21:
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: 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: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:openssl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:openssl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:openssl

Compiler output

Implementation: T:opensslnew
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.c: keypair.c:18:7: warning: 'RSA_new' is deprecated [-Wdeprecated-declarations]
keypair.c: 18 | r = RSA_new();
keypair.c: | ^
keypair.c: /usr/include/openssl/rsa.h:201:1: note: 'RSA_new' has been explicitly marked deprecated here
keypair.c: 201 | OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
keypair.c: | ^
keypair.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: 182 | # 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: 62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: | ^
keypair.c: keypair.c:26:8: warning: 'RSA_generate_key_ex' is deprecated [-Wdeprecated-declarations]
keypair.c: 26 | if (!RSA_generate_key_ex(r,MODULUS_BYTES*8,b,0)) { BN_free(b); goto error; }
keypair.c: | ^
keypair.c: /usr/include/openssl/rsa.h:260:1: note: 'RSA_generate_key_ex' has been explicitly marked deprecated here
keypair.c: 260 | OSSL_DEPRECATEDIN_3_0 int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e,
keypair.c: | ^
keypair.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: 182 | # 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: 62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: | ^
keypair.c: keypair.c:30:7: warning: 'RSA_size' is deprecated [-Wdeprecated-declarations]
keypair.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew

Compiler output

Implementation: T:opensslnew
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keypair.c: keypair.c: In function 'crypto_sign_ronald768_opensslnew_timingleaks_keypair':
keypair.c: keypair.c:18:3: warning: 'RSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 18 | r = RSA_new();
keypair.c: | ^
keypair.c: In file included from keypair.c:3:
keypair.c: /usr/include/openssl/rsa.h:201:28: note: declared here
keypair.c: 201 | OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
keypair.c: | ^~~~~~~
keypair.c: keypair.c:26:3: warning: 'RSA_generate_key_ex' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 26 | if (!RSA_generate_key_ex(r,MODULUS_BYTES*8,b,0)) { BN_free(b); goto error; }
keypair.c: | ^~
keypair.c: /usr/include/openssl/rsa.h:260:27: note: declared here
keypair.c: 260 | OSSL_DEPRECATEDIN_3_0 int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e,
keypair.c: | ^~~~~~~~~~~~~~~~~~~
keypair.c: keypair.c:30:3: warning: 'RSA_size' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 30 | if (RSA_size(r) != MODULUS_BYTES) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/rsa.h:204:27: note: declared here
keypair.c: 204 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
keypair.c: | ^~~~~~~~
keypair.c: keypair.c:32:3: warning: 'RSA_get0_n' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 32 | x = RSA_get0_n(r);
keypair.c: | ^
keypair.c: /usr/include/openssl/rsa.h:232:37: note: declared here
keypair.c: 232 | OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_n(const RSA *d);
keypair.c: ...
shortmessagesigned.c: shortmessagesigned.c: In function 'crypto_sign_ronald768_opensslnew_timingleaks_shortmessagesigned':
shortmessagesigned.c: shortmessagesigned.c:16:3: warning: 'RSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
shortmessagesigned.c: 16 | RSA *r = RSA_new();
shortmessagesigned.c: | ^~~
shortmessagesigned.c: In file included from shortmessagesigned.c:4:
shortmessagesigned.c: /usr/include/openssl/rsa.h:201:28: note: declared here
shortmessagesigned.c: 201 | OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
shortmessagesigned.c: | ^~~~~~~
shortmessagesigned.c: shortmessagesigned.c:27:3: warning: 'RSA_set0_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
shortmessagesigned.c: 27 | if (!result) if (!RSA_set0_key(r,n,e,0)) result = -1;
shortmessagesigned.c: | ^~
shortmessagesigned.c: /usr/include/openssl/rsa.h:207:27: note: declared here
shortmessagesigned.c: 207 | OSSL_DEPRECATEDIN_3_0 int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
shortmessagesigned.c: | ^~~~~~~~~~~~
shortmessagesigned.c: shortmessagesigned.c:29:3: warning: 'RSA_size' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
shortmessagesigned.c: 29 | if (!result) if (RSA_size(r) > MODULUS_BYTES) result = -1;
shortmessagesigned.c: | ^~
shortmessagesigned.c: /usr/include/openssl/rsa.h:204:27: note: declared here
shortmessagesigned.c: 204 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
shortmessagesigned.c: | ^~~~~~~~
shortmessagesigned.c: shortmessagesigned.c:30:3: warning: 'RSA_public_decrypt' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
shortmessagesigned.c: 30 | if (!result) recoveredlen = RSA_public_decrypt(smlen,sm,m,r,RSA_PKCS1_PADDING);
shortmessagesigned.c: | ^~
shortmessagesigned.c: /usr/include/openssl/rsa.h:288:5: note: declared here
shortmessagesigned.c: 288 | int RSA_public_decrypt(int flen, const unsigned char *from, unsigned char *to,
shortmessagesigned.c: ...
signedshortmessage.c: signedshortmessage.c: In function 'crypto_sign_ronald768_opensslnew_timingleaks_signedshortmessage':
signedshortmessage.c: signedshortmessage.c:24:3: warning: 'RSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signedshortmessage.c: 24 | RSA *r = RSA_new();
signedshortmessage.c: | ^~~
signedshortmessage.c: In file included from signedshortmessage.c:4:
signedshortmessage.c: /usr/include/openssl/rsa.h:201:28: note: declared here
signedshortmessage.c: 201 | OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
signedshortmessage.c: | ^~~~~~~
signedshortmessage.c: signedshortmessage.c:46:3: warning: 'RSA_set0_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signedshortmessage.c: 46 | if (!result) if (!RSA_set0_key(r,n,e,d)) result = -1;
signedshortmessage.c: | ^~
signedshortmessage.c: /usr/include/openssl/rsa.h:207:27: note: declared here
signedshortmessage.c: 207 | OSSL_DEPRECATEDIN_3_0 int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
signedshortmessage.c: | ^~~~~~~~~~~~
signedshortmessage.c: signedshortmessage.c:48:3: warning: 'RSA_set0_factors' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signedshortmessage.c: 48 | if (!result) if (!RSA_set0_factors(r,p,q)) result = -1;
signedshortmessage.c: | ^~
signedshortmessage.c: /usr/include/openssl/rsa.h:208:27: note: declared here
signedshortmessage.c: 208 | OSSL_DEPRECATEDIN_3_0 int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q);
signedshortmessage.c: | ^~~~~~~~~~~~~~~~
signedshortmessage.c: signedshortmessage.c:50:3: warning: 'RSA_set0_crt_params' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signedshortmessage.c: 50 | if (!result) if (!RSA_set0_crt_params(r,dmp1,dmq1,iqmp)) result = -1;
signedshortmessage.c: | ^~
signedshortmessage.c: /usr/include/openssl/rsa.h:209:27: note: declared here
signedshortmessage.c: 209 | OSSL_DEPRECATEDIN_3_0 int RSA_set0_crt_params(RSA *r,
signedshortmessage.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opensslnew
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opensslnew
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opensslnew