fix potential overflow with multiplication
The modular multiplication can overflow. We can easily fix this by doing multiplication in 64 bit and convert it back to 32 bit at the end.
The modular multiplication can overflow. We can easily fix this by doing multiplication in 64 bit and convert it back to 32 bit at the end.