Implementation notes: amd64, hertz, crypto_aead/aes128cpfbv1
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: aes128cpfbv1
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
38393 | 4071 0 0 | 27909 804 1160 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
48042 | 2854 0 0 | 24669 804 1096 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
51027 | 2492 0 0 | 29863 828 1096 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
51162 | 2492 0 0 | 29975 828 1096 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
62550 | 1646 0 0 | 22936 820 1096 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
66169 | 1845 0 0 | 21264 780 1064 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
82110 | 16080 0 0 | 35360 780 1064 | T:gladman | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
87230 | 16443 0 0 | 37264 820 1096 | T:gladman | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
87321 | 17961 0 0 | 45015 828 1096 | T:gladman | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
87325 | 17961 0 0 | 44903 828 1096 | T:gladman | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
97121 | 17965 0 0 | 39733 804 1096 | T:gladman | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
97131 | 18409 0 0 | 42205 804 1160 | T:gladman | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
100484 | 19909 0 0 | 43781 804 1160 | T:aesref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
102948 | 17045 0 0 | 38869 804 1096 | T:aesref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
109512 | 19789 0 0 | 46903 828 1096 | T:aesref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
109615 | 19789 0 0 | 46791 828 1096 | T:aesref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
116013 | 16666 0 0 | 37584 820 1096 | T:aesref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
119677 | 15830 0 0 | 35224 780 1064 | T:aesref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
Test failure
error 111
crypto_aead_decrypt does not match m
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:aesni | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:aesni | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:aesni | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
Test failure
error 111
crypto_aead_decrypt returns nonzero
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
T:aesni | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:aesni | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Compiler output
try.c: /usr/bin/ld: libcrypto_aead_aes128cpfbv1.a(encrypt.o): in function `crypto_aead_aes128cpfbv1_aesni_timingleaks_encrypt':
try.c: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/encrypt.c:696:(.text+0x...): undefined reference to `safe_store_partial'
try.c: /usr/bin/ld: libcrypto_aead_aes128cpfbv1.a(cpfbkey.o): in function `AES_128_Key_Expansion_and_encryption':
try.c: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:51:(.text+0x...): undefined reference to `key_expansion_128'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:55:(.text+0x...): undefined reference to `key_expansion_128'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:59:(.text+0x...): undefined reference to `key_expansion_128'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:63:(.text+0x...): undefined reference to `key_expansion_128'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:67:(.text+0x...): undefined reference to `key_expansion_128'
try.c: /usr/bin/ld: libcrypto_aead_aes128cpfbv1.a(cpfbkey.o):.../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:71: more undefined references to `key_expansion_128' follow
try.c: /usr/bin/ld: libcrypto_aead_aes128cpfbv1.a(cpfbkey.o): in function `AES_256_Key_Expansion':
try.c: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:182:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:184:(.text+0x...): undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:187:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:189:(.text+0x...): undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:192:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:194:(.text+0x...): undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:197:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:199:(.text+0x...): undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:202:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:204:(.text+0x...): undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:207:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:209:(.text+0x...): undefined reference to `KEY_256_ASSIST_2'
try.c: /usr/bin/ld: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:212:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: /usr/bin/ld: libcrypto_aead_aes128cpfbv1.a(cpfbkey.o): in function `AES_256_Key_Expansion_2':
try.c: .../supercop-data/hertz/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/aes128cpfbv1/aesni/work/cpfbkey.c:230:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:aesni | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Compiler output
encrypt.c: encrypt.c:170:89: error: array 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: /usr/include/openssl/types.h:102:16: note: forward declaration of 'struct evp_cipher_ctx_st'
encrypt.c: 102 | typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
encrypt.c: | ^
encrypt.c: encrypt.c:188:25: error: array 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: /usr/include/openssl/types.h:102:16: note: forward declaration of 'struct evp_cipher_ctx_st'
encrypt.c: 102 | typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
encrypt.c: | ^
encrypt.c: encrypt.c:189:31: error: array 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: /usr/include/openssl/types.h:102:16: note: forward declaration of 'struct evp_cipher_ctx_st'
encrypt.c: 102 | typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
encrypt.c: | ^
encrypt.c: encrypt.c:190:31: error: array 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: /usr/include/openssl/types.h:102:16: note: forward declaration of 'struct evp_cipher_ctx_st'
encrypt.c: 102 | typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
encrypt.c: | ^
encrypt.c: encrypt.c:330:25: error: array has incomplete element type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st')
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:evp | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:evp | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:evp | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
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_aes128cpfbv1_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: 3, namely:
Implementation | Compiler |
T:evp | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:evp | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:evp | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Namespace violations
rijndael-alg-fst.o rijndaelDecrypt T
rijndael-alg-fst.o rijndaelEncrypt T
rijndael-alg-fst.o rijndaelKeySetupDec T
rijndael-alg-fst.o rijndaelKeySetupEnc T
Number of similar (implementation,compiler) pairs: 6, namely:
Implementation | Compiler |
T:aesref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:aesref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:aesref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:aesref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:aesref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:aesref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Namespace violations
aescrypt.o aes_encrypt T
aeskey.o aes_encrypt_key128 T
aeskey.o aes_encrypt_key256 T
aestab.o aes_init T
aestab.o t_fl R
aestab.o t_fn R
aestab.o t_rc R
Number of similar (implementation,compiler) pairs: 6, namely:
Implementation | Compiler |
T:gladman | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:gladman | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:gladman | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:gladman | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:gladman | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:gladman | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |