Implementation notes: amd64, bitvise, crypto_aead/aes128cpfbv1

Computer: bitvise
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_aead
Primitive: aes128cpfbv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1071512667 0 031569 776 872aesniclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1074512835 0 033062 776 928aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1077913695 0 032577 776 872aesniclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1077913695 0 032577 776 872aesniclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
150298689 0 023871 768 856aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
163378899 0 025461 768 928aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
164419348 0 026149 768 928aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
894376980 0 027622 776 928refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
908003276 0 022577 776 872refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
908133276 0 022577 776 872refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
9287716100 0 031329 752 896gladmangcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
9562919486 0 038337 776 872gladmanclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
9568319486 0 038353 776 872gladmanclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
9572219486 0 038337 776 872gladmanclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
9592915633 0 030767 768 856gladmanclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
968161851 0 017471 768 856refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
9687218027 0 038182 776 928gladmangcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
9848017037 0 033837 768 928gladmangcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
10449716987 0 033533 768 928gladmangcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
11249816748 0 033333 768 928aesrefgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1132672722 0 019957 768 928refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
1171473276 0 022593 776 872refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
1200342206 0 019237 768 928refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
12563722744 0 042958 776 928aesrefgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
12907416908 0 033725 768 928aesrefgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
14103015379 0 030559 768 856aesrefclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
14157418437 0 037321 776 872aesrefclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
14158719173 0 038089 776 872aesrefclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
14271518437 0 037321 776 872aesrefclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
14461316097 0 031377 752 896aesrefgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910

Test failure

Implementation: ref
Security model: unknown
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref

Compiler output

Implementation: aesni
Security model: unknown
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: crypto_aead_aes128cpfbv1.a(encrypt.o): In function `crypto_aead_aes128cpfbv1_aesni_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `safe_store_partial'
try.c: crypto_aead_aes128cpfbv1.a(cpfbkey.o): In function `AES_128_Key_Expansion_and_encryption':
try.c: cpfbkey.c:(.text+0x...): undefined reference to `key_expansion_128'
try.c: cpfbkey.c:(.text+0x...): undefined reference to `key_expansion_128'
try.c: cpfbkey.c:(.text+0x...): undefined reference to `key_expansion_128'
try.c: cpfbkey.c:(.text+0x...): undefined reference to `key_expansion_128'
try.c: cpfbkey.c:(.text+0x...): undefined reference to `key_expansion_128'
try.c: crypto_aead_aes128cpfbv1.a(cpfbkey.o):cpfbkey.c:(.text+0x...): more undefined references to `key_expansion_128' follow
try.c: crypto_aead_aes128cpfbv1.a(cpfbkey.o): In function `AES_256_Key_Expansion':
try.c: cpfbkey.c:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: cpfbkey.c:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: cpfbkey.c:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: cpfbkey.c:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: cpfbkey.c:(.text+0x...): undefined reference to `KEY_256_ASSIST_1'
try.c: crypto_aead_aes128cpfbv1.a(cpfbkey.o):cpfbkey.c:(.text+0x...): more undefined references to `KEY_256_ASSIST_1' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE aesni

Compiler output

Implementation: evp
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:170:89: error: array has incomplete element type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st')
encrypt.c: static void gen_kappa(unsigned char* nonce, unsigned char* kappa, EVP_CIPHER_CTX ctx_key[1]){
encrypt.c: ^
encrypt.c: /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'struct evp_cipher_ctx_st'
encrypt.c: 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: EVP_CIPHER_CTX ctx_k[1];
encrypt.c: ^
encrypt.c: /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'struct evp_cipher_ctx_st'
encrypt.c: 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: EVP_CIPHER_CTX ctx_kappa_0[1];
encrypt.c: ^
encrypt.c: /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'struct evp_cipher_ctx_st'
encrypt.c: 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: EVP_CIPHER_CTX ctx_kappa_m[1];
encrypt.c: ^
encrypt.c: /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'struct evp_cipher_ctx_st'
encrypt.c: 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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE evp
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE evp
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE evp
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE evp

Compiler output

Implementation: evp
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: encrypt.c:170:82: error: array type has incomplete element type 'EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}'
encrypt.c: 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_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: 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: 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: 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: gen_kappa(nonce, kappa_0, ctx_k);
encrypt.c: ^~~~~
encrypt.c: encrypt.c:265:28: error: type of formal parameter 3 is incomplete
encrypt.c: gen_kappa(nonce, kappa_m, ctx_k);
encrypt.c: ^~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_aes128cpfbv1_evp_decrypt':
encrypt.c: encrypt.c:330:20: error: array type has incomplete element type 'EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}'
encrypt.c: EVP_CIPHER_CTX ctx_k[1];
encrypt.c: ^~~~~
encrypt.c: encrypt.c:331:20: error: array type has incomplete element type 'EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}'
encrypt.c: EVP_CIPHER_CTX ctx_kappa_0[1];
encrypt.c: ...

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

Namespace violations

Implementation: aesni
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
cpfbkey.o AES_128_Key_Expansion_2 T
cpfbkey.o AES_128_Key_Expansion_and_encryption T
cpfbkey.o AES_256_Key_Expansion T
cpfbkey.o AES_256_Key_Expansion_2 T
cpfbkey.o AES_256_Key_Expansion_and_encryption T

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aesni
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aesni
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aesni
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aesni
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE aesni
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE aesni
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE aesni

Namespace violations

Implementation: aesref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aesref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aesref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aesref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE aesref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE aesref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE aesref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE aesref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE aesref

Namespace violations

Implementation: gladman
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE gladman
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE gladman
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE gladman
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE gladman
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE gladman
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE gladman
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE gladman
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE gladman