Implementation notes: amd64, comet, crypto_sign/ecdonaldk283

Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240425
Operation: crypto_sign
Primitive: ecdonaldk283
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
58119102813 0 026960 1036 1760T:opensslnewgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042920240425
58146962610 0 023216 1028 1760T:opensslnewgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042920240425
58172302813 0 025088 1036 1760T:opensslnewgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042920240425
58201203311 0 025128 1036 1760T:opensslnewgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042920240425

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:20:7: warning: 'EC_KEY_new' is deprecated [-Wdeprecated-declarations]
keypair.c: k = EC_KEY_new(); if (!k) { BN_free(ky); BN_free(kx); return -1; }
keypair.c: ^
keypair.c: /usr/include/openssl/ec.h:968:1: note: 'EC_KEY_new' has been explicitly marked deprecated here
keypair.c: OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new(void);
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: # 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: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: ^
keypair.c: keypair.c:25:8: warning: 'EC_KEY_set_group' is deprecated [-Wdeprecated-declarations]
keypair.c: if (!EC_KEY_set_group(k,group)) goto error;
keypair.c: ^
keypair.c: /usr/include/openssl/ec.h:1042:1: note: 'EC_KEY_set_group' has been explicitly marked deprecated here
keypair.c: OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group);
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: # 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: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: ^
keypair.c: keypair.c:26:8: warning: 'EC_KEY_generate_key' is deprecated [-Wdeprecated-declarations]
keypair.c: ...

Number of similar (compiler,implementation) pairs: 5, 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 -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:openssl
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:openssl
clang -mcpu=native -O3 -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_ecdonaldk283_openssl_timingleaks_keypair':
keypair.c: keypair.c:20:3: warning: 'EC_KEY_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 20 | k = EC_KEY_new(); if (!k) { BN_free(ky); BN_free(kx); return -1; }
keypair.c: | ^
keypair.c: In file included from /usr/include/openssl/ecdsa.h:10,
keypair.c: from keypair.c:3:
keypair.c: /usr/include/openssl/ec.h:968:31: note: declared here
keypair.c: 968 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new(void);
keypair.c: | ^~~~~~~~~~
keypair.c: keypair.c:25:3: warning: 'EC_KEY_set_group' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 25 | if (!EC_KEY_set_group(k,group)) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/ec.h:1042:27: note: declared here
keypair.c: 1042 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group);
keypair.c: | ^~~~~~~~~~~~~~~~
keypair.c: keypair.c:26:3: warning: 'EC_KEY_generate_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 26 | if (!EC_KEY_generate_key(k)) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/ec.h:1101:27: note: declared here
keypair.c: 1101 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_generate_key(EC_KEY *key);
keypair.c: | ^~~~~~~~~~~~~~~~~~~
keypair.c: keypair.c:28:3: warning: 'EC_KEY_get0_private_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 28 | len = BN_num_bytes(EC_KEY_get0_private_key(k)); if (len > PRIME_BYTES) goto error;
keypair.c: | ^~~
keypair.c: /usr/include/openssl/ec.h:1048:37: note: declared here
keypair.c: ...
signatureofshorthash.c: signatureofshorthash.c: In function 'crypto_sign_ecdonaldk283_openssl_timingleaks_signatureofshorthash':
signatureofshorthash.c: signatureofshorthash.c:35:3: warning: 'EC_KEY_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 35 | k = EC_KEY_new(); if (!k) { EC_POINT_free(kxy); BN_free(ky); BN_free(kx); return -1; }
signatureofshorthash.c: | ^
signatureofshorthash.c: In file included from /usr/include/openssl/ecdsa.h:10,
signatureofshorthash.c: from signatureofshorthash.c:3:
signatureofshorthash.c: /usr/include/openssl/ec.h:968:31: note: declared here
signatureofshorthash.c: 968 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new(void);
signatureofshorthash.c: | ^~~~~~~~~~
signatureofshorthash.c: signatureofshorthash.c:37:3: warning: 'EC_KEY_set_group' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 37 | if (!EC_KEY_set_group(k,group)) goto error;
signatureofshorthash.c: | ^~
signatureofshorthash.c: /usr/include/openssl/ec.h:1042:27: note: declared here
signatureofshorthash.c: 1042 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group);
signatureofshorthash.c: | ^~~~~~~~~~~~~~~~
signatureofshorthash.c: signatureofshorthash.c:40:3: warning: 'EC_KEY_set_private_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 40 | if (!EC_KEY_set_private_key(k,kx)) goto error;
signatureofshorthash.c: | ^~
signatureofshorthash.c: /usr/include/openssl/ec.h:1056:27: note: declared here
signatureofshorthash.c: 1056 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv);
signatureofshorthash.c: | ^~~~~~~~~~~~~~~~~~~~~~
signatureofshorthash.c: signatureofshorthash.c:47:3: warning: 'EC_POINT_set_affine_coordinates_GF2m' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 47 | if (!EC_POINT_set_affine_coordinates_GF2m(group,kxy,kx,ky,0)) goto error;
signatureofshorthash.c: | ^~
signatureofshorthash.c: /usr/include/openssl/ec.h:699:27: note: declared here
signatureofshorthash.c: ...

Number of similar (compiler,implementation) pairs: 4, 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 -O -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:23:7: warning: 'EC_KEY_new' is deprecated [-Wdeprecated-declarations]
keypair.c: k = EC_KEY_new();
keypair.c: ^
keypair.c: /usr/include/openssl/ec.h:968:1: note: 'EC_KEY_new' has been explicitly marked deprecated here
keypair.c: OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new(void);
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: # 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: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: ^
keypair.c: keypair.c:28:8: warning: 'EC_KEY_set_group' is deprecated [-Wdeprecated-declarations]
keypair.c: if (!EC_KEY_set_group(k,group)) goto error;
keypair.c: ^
keypair.c: /usr/include/openssl/ec.h:1042:1: note: 'EC_KEY_set_group' has been explicitly marked deprecated here
keypair.c: OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group);
keypair.c: ^
keypair.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: # 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: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: ^
keypair.c: keypair.c:29:8: warning: 'EC_KEY_generate_key' is deprecated [-Wdeprecated-declarations]
keypair.c: ...

Number of similar (compiler,implementation) pairs: 5, 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 -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opensslnew
clang -mcpu=native -O3 -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_ecdonaldk283_opensslnew_timingleaks_keypair':
keypair.c: keypair.c:23:3: warning: 'EC_KEY_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 23 | k = EC_KEY_new();
keypair.c: | ^
keypair.c: In file included from /usr/include/openssl/ecdsa.h:10,
keypair.c: from keypair.c:3:
keypair.c: /usr/include/openssl/ec.h:968:31: note: declared here
keypair.c: 968 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new(void);
keypair.c: | ^~~~~~~~~~
keypair.c: keypair.c:28:3: warning: 'EC_KEY_set_group' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 28 | if (!EC_KEY_set_group(k,group)) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/ec.h:1042:27: note: declared here
keypair.c: 1042 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group);
keypair.c: | ^~~~~~~~~~~~~~~~
keypair.c: keypair.c:29:3: warning: 'EC_KEY_generate_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 29 | if (!EC_KEY_generate_key(k)) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/ec.h:1101:27: note: declared here
keypair.c: 1101 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_generate_key(EC_KEY *key);
keypair.c: | ^~~~~~~~~~~~~~~~~~~
keypair.c: keypair.c:31:3: warning: 'EC_KEY_get0_private_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 31 | len = BN_num_bytes(EC_KEY_get0_private_key(k));
keypair.c: | ^~~
keypair.c: /usr/include/openssl/ec.h:1048:37: note: declared here
keypair.c: ...
signatureofshorthash.c: signatureofshorthash.c: In function 'crypto_sign_ecdonaldk283_opensslnew_timingleaks_signatureofshorthash':
signatureofshorthash.c: signatureofshorthash.c:37:3: warning: 'EC_KEY_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 37 | k = EC_KEY_new(); if (!k) goto error;
signatureofshorthash.c: | ^
signatureofshorthash.c: In file included from /usr/include/openssl/ecdsa.h:10,
signatureofshorthash.c: from signatureofshorthash.c:3:
signatureofshorthash.c: /usr/include/openssl/ec.h:968:31: note: declared here
signatureofshorthash.c: 968 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new(void);
signatureofshorthash.c: | ^~~~~~~~~~
signatureofshorthash.c: signatureofshorthash.c:39:3: warning: 'EC_KEY_set_group' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 39 | if (!EC_KEY_set_group(k,group)) goto error;
signatureofshorthash.c: | ^~
signatureofshorthash.c: /usr/include/openssl/ec.h:1042:27: note: declared here
signatureofshorthash.c: 1042 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group);
signatureofshorthash.c: | ^~~~~~~~~~~~~~~~
signatureofshorthash.c: signatureofshorthash.c:42:3: warning: 'EC_KEY_set_private_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 42 | if (!EC_KEY_set_private_key(k,kx)) goto error;
signatureofshorthash.c: | ^~
signatureofshorthash.c: /usr/include/openssl/ec.h:1056:27: note: declared here
signatureofshorthash.c: 1056 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv);
signatureofshorthash.c: | ^~~~~~~~~~~~~~~~~~~~~~
signatureofshorthash.c: signatureofshorthash.c:49:3: warning: 'EC_POINT_set_affine_coordinates_GF2m' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
signatureofshorthash.c: 49 | if (!EC_POINT_set_affine_coordinates_GF2m(group,kxy,kx,ky,0)) goto error;
signatureofshorthash.c: | ^~
signatureofshorthash.c: /usr/include/openssl/ec.h:699:27: note: declared here
signatureofshorthash.c: ...
verification.c: verification.c: In function 'crypto_sign_ecdonaldk283_opensslnew_timingleaks_verification':
verification.c: verification.c:36:3: warning: 'EC_KEY_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
verification.c: 36 | k = EC_KEY_new(); if (!k) goto error;
verification.c: | ^
verification.c: In file included from /usr/include/openssl/ecdsa.h:10,
verification.c: from verification.c:2:
verification.c: /usr/include/openssl/ec.h:968:31: note: declared here
verification.c: 968 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new(void);
verification.c: | ^~~~~~~~~~
verification.c: verification.c:38:3: warning: 'EC_KEY_set_group' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
verification.c: 38 | if (!EC_KEY_set_group(k,group)) goto error;
verification.c: | ^~
verification.c: /usr/include/openssl/ec.h:1042:27: note: declared here
verification.c: 1042 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group);
verification.c: | ^~~~~~~~~~~~~~~~
verification.c: verification.c:44:3: warning: 'EC_POINT_set_affine_coordinates_GF2m' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
verification.c: 44 | if (!EC_POINT_set_affine_coordinates_GF2m(group,kxy,kx,ky,0)) goto error;
verification.c: | ^~
verification.c: /usr/include/openssl/ec.h:699:27: note: declared here
verification.c: 699 | OSSL_DEPRECATEDIN_3_0 int EC_POINT_set_affine_coordinates_GF2m
verification.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
verification.c: verification.c:46:3: warning: 'EC_KEY_set_public_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
verification.c: 46 | if (!EC_KEY_set_public_key(k,kxy)) goto error;
verification.c: | ^~
verification.c: /usr/include/openssl/ec.h:1070:27: note: declared here
verification.c: ...

Number of similar (compiler,implementation) pairs: 4, 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 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opensslnew
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opensslnew