I made a program to calculate ‘A * B mod N’, where A, B and N are 64 bit integers.
Main problem is to avoid overflow when calculate ‘A * B’.
I searched a while and finally decided to use the interleaved modular multiplication method, which is used in the feild of electric circuit design.
I found some bugs when I tested corner cases, so I have to fix them [2018.9.2].
I think I’ve fixed them [2018.9.3].
improved it! [2018.9.5]
The program is shown below: