Implementation notes: amd64, hertz, crypto_encrypt/ronald4096

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_encrypt
Primitive: ronald4096
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
85097102996 0 041506 1012 1800T:opensslnewgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
85220853625 0 045714 1020 1832T:opensslnewgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
85371353625 0 043674 1020 1800T:opensslnewgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716

Compiler output


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:258:1: note: 'RSA_generate_key' has been explicitly marked deprecated here
keypair.c:   258 | 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:209:1: note: 'RSA_size' has been explicitly marked deprecated here
keypair.c:   209 | 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 (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:opensslclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opensslclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opensslclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


keypair.c: keypair.c: In function 'crypto_encrypt_ronald4096_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:258:30: note: declared here
keypair.c:   258 | 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:209:27: note: declared here
keypair.c:   209 | 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 (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:opensslgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:opensslgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:opensslgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


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:206:1: note: 'RSA_new' has been explicitly marked deprecated here
keypair.c:   206 | 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:265:1: note: 'RSA_generate_key_ex' has been explicitly marked deprecated here
keypair.c:   265 | 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 (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:opensslnewclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opensslnewclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:opensslnewclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


keypair.c: keypair.c: In function 'crypto_encrypt_ronald4096_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:206:28: note: declared here
keypair.c:   206 | 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:265:27: note: declared here
keypair.c:   265 | 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:209:27: note: declared here
keypair.c:   209 | 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:237:37: note: declared here
keypair.c:   237 | OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_n(const RSA *d);
keypair.c: ...
shortciphertext.c: shortciphertext.c:11:17: warning: argument 1 of type 'unsigned char[512]' with mismatched bound [-Warray-parameter=]
shortciphertext.c:    11 |   unsigned char c[ENCRYPTION_BYTES],unsigned long long *clen,
shortciphertext.c:       |   ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
shortciphertext.c: In file included from shortciphertext.c:8:
shortciphertext.c: short.h:9:28: note: previously declared as 'unsigned char *'
shortciphertext.c:     9 | extern int shortciphertext(unsigned char *,unsigned long long *,
shortciphertext.c:       |                            ^~~~~~~~~~~~~~~
shortciphertext.c: shortciphertext.c:12:23: warning: argument 3 of type 'const unsigned char[501]' with mismatched bound [-Warray-parameter=]
shortciphertext.c:    12 |   const unsigned char m[SHORTPLAINTEXT_BYTES],const unsigned long long mlen,
shortciphertext.c:       |   ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
shortciphertext.c: short.h:10:3: note: previously declared as 'const unsigned char *'
shortciphertext.c:    10 |   const unsigned char *,unsigned long long,const unsigned char *,unsigned long long);
shortciphertext.c:       |   ^~~~~~~~~~~~~~~~~~~~~
shortciphertext.c: shortciphertext.c:13:23: warning: argument 5 of type 'const unsigned char[512]' with mismatched bound [-Warray-parameter=]
shortciphertext.c:    13 |   const unsigned char pk[PUBLICKEY_BYTES],const unsigned long long pklen
shortciphertext.c:       |   ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
shortciphertext.c: short.h:10:44: note: previously declared as 'const unsigned char *'
shortciphertext.c:    10 |   const unsigned char *,unsigned long long,const unsigned char *,unsigned long long);
shortciphertext.c:       |                                            ^~~~~~~~~~~~~~~~~~~~~
shortciphertext.c: shortciphertext.c: In function 'crypto_encrypt_ronald4096_opensslnew_timingleaks_shortciphertext':
shortciphertext.c: shortciphertext.c:19:3: warning: 'RSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
shortciphertext.c:    19 |   RSA *r = RSA_new();
shortciphertext.c:       |   ^~~
shortciphertext.c: In file included from shortciphertext.c:4:
shortciphertext.c: /usr/include/openssl/rsa.h:206:28: note: declared here
shortciphertext.c: ...
shortplaintext.c: shortplaintext.c:10:17: warning: argument 1 of type 'unsigned char[501]' with mismatched bound [-Warray-parameter=]
shortplaintext.c:    10 |   unsigned char m[SHORTPLAINTEXT_BYTES],unsigned long long *mlen,
shortplaintext.c:       |   ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
shortplaintext.c: In file included from shortplaintext.c:7:
shortplaintext.c: short.h:7:27: note: previously declared as 'unsigned char *'
shortplaintext.c:     7 | extern int shortplaintext(unsigned char *,unsigned long long *,
shortplaintext.c:       |                           ^~~~~~~~~~~~~~~
shortplaintext.c: shortplaintext.c:11:23: warning: argument 3 of type 'const unsigned char[512]' with mismatched bound [-Warray-parameter=]
shortplaintext.c:    11 |   const unsigned char c[ENCRYPTION_BYTES],const unsigned long long clen,
shortplaintext.c:       |   ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
shortplaintext.c: short.h:8:3: note: previously declared as 'const unsigned char *'
shortplaintext.c:     8 |   const unsigned char *,unsigned long long,const unsigned char *,unsigned long long);
shortplaintext.c:       |   ^~~~~~~~~~~~~~~~~~~~~
shortplaintext.c: shortplaintext.c:12:23: warning: argument 5 of type 'const unsigned char[4096]' with mismatched bound [-Warray-parameter=]
shortplaintext.c:    12 |   const unsigned char sk[SECRETKEY_BYTES],const unsigned long long sklen
shortplaintext.c:       |   ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
shortplaintext.c: short.h:8:44: note: previously declared as 'const unsigned char *'
shortplaintext.c:     8 |   const unsigned char *,unsigned long long,const unsigned char *,unsigned long long);
shortplaintext.c:       |                                            ^~~~~~~~~~~~~~~~~~~~~
shortplaintext.c: shortplaintext.c: In function 'crypto_encrypt_ronald4096_opensslnew_timingleaks_shortplaintext':
shortplaintext.c: shortplaintext.c:24:3: warning: 'RSA_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
shortplaintext.c:    24 |   RSA *r = RSA_new();
shortplaintext.c:       |   ^~~
shortplaintext.c: In file included from shortplaintext.c:3:
shortplaintext.c: /usr/include/openssl/rsa.h:206:28: note: declared here
shortplaintext.c: ...

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