Implementation notes: amd64, cezanne, crypto_sign/sflashv2

Computer: cezanne
Microarchitecture: amd64; Zen 3 (a50f00)
Architecture: amd64
CPU ID: AuthenticAMD-00a50f00-178bfbff
SUPERCOP version: 20240716
Operation: crypto_sign
Primitive: sflashv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
19154031620 0 052215 844 1752T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071920240716
19446032471 0 054759 844 1752T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071920240716
29506930510 0 050703 844 1752T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071920240716
34345028060 0 047135 836 1752T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071920240716

Compiler output


keypair.c: keypair.c:10:18: warning: unused variable 'seed' [-Wunused-variable]
keypair.c:   unsigned char *seed;
keypair.c:                  ^
keypair.c: keypair.c:11:7: warning: unused variable 'length' [-Wunused-variable]
keypair.c:   int length;
keypair.c:       ^
keypair.c: 2 warnings generated.
lib_flash.c: lib_flash.c:409:50: warning: '/*' within block comment [-Wcomment]
lib_flash.c:         init_table_flash(CK->M,/*CK->I,*/CK->M1/*,CK->M2/* /*,CK->M3*/);
lib_flash.c:                                                         ^
lib_flash.c: lib_flash.c:409:53: warning: '/*' within block comment [-Wcomment]
lib_flash.c:         init_table_flash(CK->M,/*CK->I,*/CK->M1/*,CK->M2/* /*,CK->M3*/);
lib_flash.c:                                                            ^
lib_flash.c: lib_flash.c:690:3: warning: '/*' within block comment [-Wcomment]
lib_flash.c:                 /*mis <E0> la puissance 2^7^22 de tmp
lib_flash.c:                 ^
lib_flash.c: lib_flash.c:692:3: warning: '/*' within block comment [-Wcomment]
lib_flash.c:                 /*
lib_flash.c:                 ^
lib_flash.c: lib_flash.c:695:4: warning: '/*' within block comment [-Wcomment]
lib_flash.c:    /* inversion affine de S*/
lib_flash.c:    ^
lib_flash.c: lib_flash.c:726:14: warning: 'size' argument to memset is '0'; did you mean to transpose the last two arguments? [-Wmemset-transposed-args]
lib_flash.c:         memset(V,33,0);
lib_flash.c:                     ^
lib_flash.c: lib_flash.c:726:14: note: parenthesize the third argument to silence
lib_flash.c: lib_flash.c:783:14: warning: 'size' argument to memset is '0'; did you mean to transpose the last two arguments? [-Wmemset-transposed-args]
lib_flash.c:         memset(V,33,0);
lib_flash.c:                     ^
lib_flash.c: lib_flash.c:783:14: note: parenthesize the third argument to silence
lib_flash.c: lib_flash.c:809:6: warning: unused variable 'i' [-Wunused-variable]
lib_flash.c:         int i;
lib_flash.c: ...
table_flash.c: table_flash.c:25:8: warning: ^ has lower precedence than <; < will be evaluated first [-Wparentheses]
table_flash.c:                 if( x^P < x)
table_flash.c:                      ^~~~~~
table_flash.c: table_flash.c:25:8: note: place parentheses around the '<' expression to silence this warning
table_flash.c:                 if( x^P < x)
table_flash.c:                      ^
table_flash.c:                       (    )
table_flash.c: table_flash.c:25:8: note: place parentheses around the ^ expression to evaluate it first
table_flash.c:                 if( x^P < x)
table_flash.c:                      ^
table_flash.c:                     (  )
table_flash.c: table_flash.c:39:28: warning: suggest braces around initialization of subobject [-Wmissing-braces]
table_flash.c: unsigned char MM[37][37]={ 1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0
table_flash.c:                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
table_flash.c:                            {                                                                                                            }
table_flash.c: table_flash.c:40:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
table_flash.c: ,1 ,1 ,0 ,0 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1
table_flash.c:  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
table_flash.c:  {                                                                                                            }
table_flash.c: table_flash.c:41:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
table_flash.c: ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,0 ,1
table_flash.c:  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
table_flash.c:  {                                                                                                            }
table_flash.c: table_flash.c:42:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
table_flash.c: ,1 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,0 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,0 ,1
table_flash.c: ...

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


keypair.c: keypair.c: In function 'crypto_sign_sflashv2_ref_timingleaks_keypair':
keypair.c: keypair.c:11:7: warning: unused variable 'length' [-Wunused-variable]
keypair.c:    11 |   int length;
keypair.c:       |       ^~~~~~
keypair.c: keypair.c:10:18: warning: unused variable 'seed' [-Wunused-variable]
keypair.c:    10 |   unsigned char *seed;
keypair.c:       |                  ^~~~
lib_flash.c: lib_flash.c: In function 'Flash_build_complete_key':
lib_flash.c: lib_flash.c:409:50: warning: "/*" within comment [-Wcomment]
lib_flash.c:   409 |  init_table_flash(CK->M,/*CK->I,*/CK->M1/*,CK->M2/* /*,CK->M3*/);
lib_flash.c:       |
lib_flash.c: lib_flash.c:409:53: warning: "/*" within comment [-Wcomment]
lib_flash.c: lib_flash.c: In function 'Flash_decrypt':
lib_flash.c: lib_flash.c:690:3: warning: "/*" within comment [-Wcomment]
lib_flash.c:   690 |   /*mis � la puissance 2^7^22 de tmp
lib_flash.c:       |
lib_flash.c: lib_flash.c:692:3: warning: "/*" within comment [-Wcomment]
lib_flash.c:   692 |   /*
lib_flash.c:       |
lib_flash.c: lib_flash.c:695:4: warning: "/*" within comment [-Wcomment]
lib_flash.c:   695 |    /* inversion affine de S*/
lib_flash.c:       |
lib_flash.c: lib_flash.c: In function 'format_message1':
lib_flash.c: lib_flash.c:726:2: warning: 'memset' used with constant zero length parameter; this could be due to transposed parameters [-Wmemset-transposed-args]
lib_flash.c:   726 |  memset(V,33,0);
lib_flash.c:       |  ^~~~~~
lib_flash.c: lib_flash.c: In function 'format_message2':
lib_flash.c: lib_flash.c:783:2: warning: 'memset' used with constant zero length parameter; this could be due to transposed parameters [-Wmemset-transposed-args]
lib_flash.c:   783 |  memset(V,33,0);
lib_flash.c:       |  ^~~~~~
lib_flash.c: lib_flash.c: In function 'Flash_sign':
lib_flash.c: lib_flash.c:809:6: warning: unused variable 'i' [-Wunused-variable]
lib_flash.c: ...
table_flash.c: table_flash.c: In function 'mult2':
table_flash.c: table_flash.c:25:11: warning: suggest parentheses around comparison in operand of '^' [-Wparentheses]
table_flash.c:    25 |   if( x^P < x)
table_flash.c:       |         ~~^~~
table_flash.c: table_flash.c: In function 'build_MM':
table_flash.c: table_flash.c:39:26: warning: missing braces around initializer [-Wmissing-braces]
table_flash.c:    39 | unsigned char MM[37][37]={ 1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0
table_flash.c:       |                          ^
table_flash.c:       |                            {
table_flash.c:    40 | ,1 ,1 ,0 ,0 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1
table_flash.c:       | }{
table_flash.c:    41 | ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,0 ,1
table_flash.c:       | }{
table_flash.c:    42 | ,1 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,0 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,0 ,1
table_flash.c:       | }{
table_flash.c:    43 | ,0 ,0 ,1 ,1 ,1 ,0 ,0 ,1 ,1 ,0 ,0 ,1 ,1 ,0 ,1 ,1 ,1 ,0 ,1 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,0 ,1
table_flash.c:       | }{
table_flash.c:    44 | ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,0 ,1 ,1 ,1 ,0 ,1 ,0 ,0 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,1 ,1 ,0 ,1 ,1 ,0 ,1 ,1 ,1 ,0 ,0 ,1 ,1
table_flash.c:       | }{
table_flash.c:    45 | ,1 ,0 ,1 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ,0 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,0 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,1 ,1 ,1 ,0 ,0
table_flash.c:       | }{
table_flash.c:    46 | ,1 ,1 ,0 ,0 ,1 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,1 ,0 ,0 ,1 ,0
table_flash.c:       | }{
table_flash.c:    47 | ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,0 ,0 ,1
table_flash.c:       | }{
table_flash.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)

Namespace violations


lib_flash.o Bij_Aff T
lib_flash.o Flash_build_complete_key T
lib_flash.o Flash_complete2private T
lib_flash.o Flash_complete2public T
lib_flash.o Flash_decrypt T
lib_flash.o Flash_encrypt T
lib_flash.o Flash_load2_private_key T
lib_flash.o Flash_load2_public_key T
lib_flash.o Flash_load_private_key T
lib_flash.o Flash_load_public_key T
lib_flash.o Flash_sign T
lib_flash.o Flash_sign2 T
lib_flash.o Flash_store2_private_key T
lib_flash.o Flash_store2_public_key T
lib_flash.o Flash_store_private_key T
lib_flash.o Flash_verify T
lib_flash.o Flash_verify2 T
lib_flash.o add37 T
lib_flash.o bit T
lib_flash.o exponent T
lib_flash.o format_message1 T
lib_flash.o format_message2 T
lib_flash.o inv_affine T
lib_flash.o lineaire T
lib_flash.o load_bit T
lib_flash.o mul37 T
lib_flash.o nextbit T
lib_flash.o priv_pub T
lib_flash.o quadratic T
lib_flash.o sqsq37 T
lib_flash.o store_bit T
table_flash.o build_M T
table_flash.o build_MM T
table_flash.o init_table_flash T
table_flash.o mult2 T

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)