Honestly, after finishing the Kyber PKE encryption that is my weird implementation. I was reviewing the entire scheme for thesis writing, I realized the decryption scheme is almost identical to encryption and far simpler.
All I need is to write the decode+decompress module, copy the NTT to vector multiplication to Inverse NTT scheme, and an compress+encode module for the final 256 bit message. And we are done. It will be about 6k logic elements (I tend to over estimate to give myself a wider margin :P) I can write it as a separate module and worry about encryption+decryption integration later.
It's not as much of a clusterfrick as encryption where a total of 1+k multiplications should be done. Only k number of multiplications :D slightly less data managing headache?
I suppose I will write the code when I am motivated to pick up Verilog again.













