Implementation notes: amd64, hydra7, crypto_aead/aes256cpfbv1

Computer: hydra7
Microarchitecture: amd64; Sandy Bridge+AES (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: aes256cpfbv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2398115598 0 038477 804 1088T:aesnigcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
355799514 0 031149 804 1088T:aesnigcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
360829020 0 030116 796 1088T:aesnigcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
929034093 0 027581 804 1088T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1307553050 0 025293 804 1088T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1376852225 0 023964 796 1088T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
1675611891 0 021944 780 1056T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
17052017404 0 038973 804 1088T:gladmangcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
17065416449 0 035800 780 1056T:gladmangcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
17780118565 0 041357 804 1088T:gladmangcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
19100717465 0 038468 796 1088T:gladmangcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
19946920999 0 043893 804 1088T:aesrefgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
20816417014 0 038677 804 1088T:aesrefgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
20880716840 0 037956 796 1088T:aesrefgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
27011316080 0 035544 780 1056T:aesrefgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Compiler output


try.c: /usr/bin/ld: libcrypto_aead_aes256cpfbv1.a(encrypt.o): in function `crypto_aead_aes256cpfbv1_aesni_timingleaks_encrypt':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/encrypt.c:696: undefined reference to `safe_store_partial'
try.c: /usr/bin/ld: libcrypto_aead_aes256cpfbv1.a(cpfbkey.o): in function `AES_128_Key_Expansion_and_encryption':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:51: undefined reference to `key_expansion_128'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:55: undefined reference to `key_expansion_128'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:59: undefined reference to `key_expansion_128'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:63: undefined reference to `key_expansion_128'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:67: undefined reference to `key_expansion_128'
try.c: /usr/bin/ld: libcrypto_aead_aes256cpfbv1.a(cpfbkey.o):.../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:71: more undefined references to `key_expansion_128' follow
try.c: /usr/bin/ld: libcrypto_aead_aes256cpfbv1.a(cpfbkey.o): in function `AES_256_Key_Expansion':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:182: undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:184: undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:187: undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:189: undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:192: undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:194: undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:197: undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:199: undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:202: undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:204: undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:207: undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:209: undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:212: undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: libcrypto_aead_aes256cpfbv1.a(cpfbkey.o): in function `AES_256_Key_Expansion_2':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes256cpfbv1/aesni/work/cpfbkey.c:230: undefined reference to `KEY_256_ASSIST_1'
try.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:aesnigcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


encrypt.c: encrypt.c:170:82: error: array type has incomplete element type 'EVP_CIPHER_CTX' {aka 'struct evp_cipher_ctx_st'}
encrypt.c:   170 | static void gen_kappa(unsigned char* nonce, unsigned char* kappa, EVP_CIPHER_CTX ctx_key[1]){
encrypt.c:       |                                                                                  ^~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_aes256cpfbv1_evp_timingleaks_encrypt':
encrypt.c: encrypt.c:188:20: error: array type has incomplete element type 'EVP_CIPHER_CTX' {aka 'struct evp_cipher_ctx_st'}
encrypt.c:   188 |     EVP_CIPHER_CTX ctx_k[1];
encrypt.c:       |                    ^~~~~
encrypt.c: encrypt.c:189:20: error: array type has incomplete element type 'EVP_CIPHER_CTX' {aka 'struct evp_cipher_ctx_st'}
encrypt.c:   189 |     EVP_CIPHER_CTX ctx_kappa_0[1];
encrypt.c:       |                    ^~~~~~~~~~~
encrypt.c: encrypt.c:190:20: error: array type has incomplete element type 'EVP_CIPHER_CTX' {aka 'struct evp_cipher_ctx_st'}
encrypt.c:   190 |     EVP_CIPHER_CTX ctx_kappa_m[1];
encrypt.c:       |                    ^~~~~~~~~~~
encrypt.c: encrypt.c:204:31: error: type of formal parameter 3 is incomplete
encrypt.c:   204 |     gen_kappa(nonce, kappa_0, ctx_k);
encrypt.c:       |                               ^~~~~
encrypt.c: encrypt.c:265:35: error: type of formal parameter 3 is incomplete
encrypt.c:   265 |         gen_kappa(nonce, kappa_m, ctx_k);
encrypt.c:       |                                   ^~~~~
encrypt.c: encrypt.c:190:20: warning: unused variable 'ctx_kappa_m' [-Wunused-variable]
encrypt.c:   190 |     EVP_CIPHER_CTX ctx_kappa_m[1];
encrypt.c:       |                    ^~~~~~~~~~~
encrypt.c: encrypt.c:189:20: warning: unused variable 'ctx_kappa_0' [-Wunused-variable]
encrypt.c:   189 |     EVP_CIPHER_CTX ctx_kappa_0[1];
encrypt.c:       |                    ^~~~~~~~~~~
encrypt.c: ...

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