u32 window_size = nb_segments * segment_size + block - 1;
// Generate offset from pseudo-random seed
- u64 seed = index_block.a[block];
+ u64 seed = index_block.a[block % 128];
u64 j1 = seed & 0xffffffff; // block selector
u64 j2 = seed >> 32; // lane selector
u64 x = (j1 * j1) >> 32;
}
}
}
+
// Wipe temporary block
volatile u64* p = tmp.a;
ZERO(p, 128);
int main(void)
{
SODIUM_INIT;
- FOR (nb_blocks , 508, 516) { test(nb_blocks, 32 , 3 ); }
+ FOR (nb_blocks , 508, 517) { test(nb_blocks, 32 , 3 ); }
FOR (hash_size , 63, 65) { test(8 , hash_size, 3 ); }
FOR (nb_iterations, 3, 6) { test(8 , 32 , nb_iterations); }
return 0;