You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to understand the Interpolation part, here Loop will execute 64 times, and all r0 up to r7 is of 16bit(or uint16_t in c), the interpolation part will take input from stack [....] , can you explain a little bit how the kara_strd_mem_asm function works, input and output of this function, I understand C but unable to understand the assembly,
In // EVALUATION the output will be of (Seven arrays w1 to w7 with 64 coefficients of the intermediate products each) but no of bits in w1 , w2 .... w7 ?
then these bit are the input of kara_strd_mem_asm function, I guess, (i calculated 16 x 64 = 1024 are will be bits of aws 1 , aws2 ,, upto aws7 and same goes for bws1 bws2..... bws7 as well)
after this for Multiplication here used kara_strd_mem_asm So question if aws1 and bws1 are of 1024 bit each the output will be of 2048 bits, and for interpolation, part loop should run for 128 times, becasue all r0 up to r7 is of 16bit(or uint16_t in c),
so 2048 / 16 = 128 .
Referring to paper Polynomial multiplication on embedded vector architectures
ByHanno Becker Jose Maria Bermudo Mera Angshuman Karmakar Joseph Yiu and Ingrid Verbauwhede
paper link https://eprint.iacr.org/2021/998.pdfalgo 10 and algo 12
SABER/Cortex-M_Implementation_KEM/Cortex-M4/src/saber/m4-striding/poly_mul.c
Line 109 in f7f39e4
I am trying to understand the Interpolation part, here Loop will execute 64 times, and all r0 up to r7 is of 16bit(or uint16_t in c), the interpolation part will take input from stack [....] , can you explain a little bit how the kara_strd_mem_asm function works, input and output of this function, I understand C but unable to understand the assembly,
In // EVALUATION the output will be of (Seven arrays w1 to w7 with 64 coefficients of the intermediate products each) but no of bits in w1 , w2 .... w7 ?
then these bit are the input of kara_strd_mem_asm function, I guess, (i calculated 16 x 64 = 1024 are will be bits of aws 1 , aws2 ,, upto aws7 and same goes for bws1 bws2..... bws7 as well)
after this for Multiplication here used kara_strd_mem_asm So question if aws1 and bws1 are of 1024 bit each the output will be of 2048 bits, and for interpolation, part loop should run for 128 times, becasue all r0 up to r7 is of 16bit(or uint16_t in c),
so 2048 / 16 = 128 .
Referring to paper Polynomial multiplication on embedded vector architectures
ByHanno Becker Jose Maria Bermudo Mera Angshuman Karmakar Joseph Yiu and Ingrid Verbauwhede
paper link https://eprint.iacr.org/2021/998.pdf algo 10 and algo 12
The text was updated successfully, but these errors were encountered: