Implementation notes: amd64, jasper, crypto_aead/simonjambu96v2

Computer: jasper
Microarchitecture: amd64; Tremont (906c0)
Architecture: amd64
CPU ID: GenuineIntel-000906c0-20-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: simonjambu96v2

Test failure


error 111
crypto_aead_encrypt writes after output

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


Simon.c: Simon.c:21:9: warning: unused variable 'j' [-Wunused-variable]
Simon.c:         int i, j = 0;
Simon.c:                ^
Simon.c: Simon.c:38:9: warning: unused variable 'j' [-Wunused-variable]
Simon.c:         int i, j = 0;
Simon.c:                ^
Simon.c: Simon.c:59:9: warning: unused variable 'j' [-Wunused-variable]
Simon.c:         int i, j = 0;
Simon.c:                ^
Simon.c: Simon.c:83:22: warning: '&' within '^' [-Wbitwise-op-parentheses]
Simon.c:                 x = y ^ ROTL(1, x) & ROTL(8, x) ^ ROTL(2, x) ^ k[i];
Simon.c:                       ~ ~~~~~~~~~~~^~~~~~~~~~~~
Simon.c: Simon.c:83:22: note: place parentheses around the '&' expression to silence this warning
Simon.c:                 x = y ^ ROTL(1, x) & ROTL(8, x) ^ ROTL(2, x) ^ k[i];
Simon.c:                         ~~~~~~~~~~~^~~~~~~~~~~~
Simon.c: Simon.c:98:27: warning: '&' within '^' [-Wbitwise-op-parentheses]
Simon.c:                 x = y ^ ROTL2(1, x, 48) & ROTL2(8, x, 48) ^ ROTL2(2, x, 48) ^ k[i];
Simon.c:                       ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
Simon.c: Simon.c:98:27: note: place parentheses around the '&' expression to silence this warning
Simon.c:                 x = y ^ ROTL2(1, x, 48) & ROTL2(8, x, 48) ^ ROTL2(2, x, 48) ^ k[i];
Simon.c:                         ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
Simon.c: Simon.c:112:25: warning: '&' within '^' [-Wbitwise-op-parentheses]
Simon.c:                 x = y ^ ROTL64(x, 1) & ROTL64(x, 8) ^ ROTL64(x, 2) ^ k[i];
Simon.c:                       ~ ~~~~~~~~~~~~~^~~~~~~~~~~~~~
Simon.c: Simon.c:112:25: note: place parentheses around the '&' expression to silence this warning
Simon.c: ...
encrypt_simon96.c: encrypt_simon96.c:123:67: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt_simon96.c:         ((uint64_t *)ciphertextblk)[0] = (stateS[0] ^ ((uint64_t *)p)[0] & 0xffffffffffff);
encrypt_simon96.c:                                                     ~ ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
encrypt_simon96.c: encrypt_simon96.c:123:67: note: place parentheses around the '&' expression to silence this warning
encrypt_simon96.c:         ((uint64_t *)ciphertextblk)[0] = (stateS[0] ^ ((uint64_t *)p)[0] & 0xffffffffffff);
encrypt_simon96.c:                                                                          ^
encrypt_simon96.c:                                                       (                                  )
encrypt_simon96.c: encrypt_simon96.c:239:11: warning: unused variable 'check' [-Wunused-variable]
encrypt_simon96.c:         uint8_t check = 0;
encrypt_simon96.c:                 ^
encrypt_simon96.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


Simon.c: Simon.c: In function 'SimonKeySetup64':
Simon.c: Simon.c:21:9: warning: unused variable 'j' [-Wunused-variable]
Simon.c:    21 |  int i, j = 0;
Simon.c:       |         ^
Simon.c: Simon.c: In function 'SimonKeySetup96':
Simon.c: Simon.c:38:9: warning: unused variable 'j' [-Wunused-variable]
Simon.c:    38 |  int i, j = 0;
Simon.c:       |         ^
Simon.c: Simon.c: In function 'SimonKeySetup128':
Simon.c: Simon.c:59:9: warning: unused variable 'j' [-Wunused-variable]
Simon.c:    59 |  int i, j = 0;
Simon.c:       |         ^
Simon.c: Simon.c: In function 'SimonEncrypt64':
Simon.c: Simon.c:83:22: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
Simon.c:    83 |   x = y ^ ROTL(1, x) & ROTL(8, x) ^ ROTL(2, x) ^ k[i];
Simon.c: Simon.c: In function 'SimonEncrypt96':
Simon.c: Simon.c:98:27: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
Simon.c:    98 |   x = y ^ ROTL2(1, x, 48) & ROTL2(8, x, 48) ^ ROTL2(2, x, 48) ^ k[i];
Simon.c: Simon.c: In function 'SimonEncrypt128':
Simon.c: Simon.c:112:25: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
Simon.c:   112 |    x = y ^ ROTL64(x, 1) & ROTL64(x, 8) ^ ROTL64(x, 2) ^ k[i];
encrypt_simon96.c: encrypt_simon96.c: In function 'jambu_enc_aut_msg_partial':
encrypt_simon96.c: encrypt_simon96.c:123:67: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
encrypt_simon96.c:   123 |  ((uint64_t *)ciphertextblk)[0] = (stateS[0] ^ ((uint64_t *)p)[0] & 0xffffffffffff);
encrypt_simon96.c:       |                                                ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
encrypt_simon96.c: encrypt_simon96.c: In function 'crypto_aead_simonjambu96v2_ref_timingleaks_decrypt':
encrypt_simon96.c: encrypt_simon96.c:239:11: warning: unused variable 'check' [-Wunused-variable]
encrypt_simon96.c:   239 |   uint8_t check = 0;
encrypt_simon96.c:       |           ^~~~~

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