modp.py 382 B

12345678910111213
  1. from finite_fields.modp import IntegersModP
  2. q = 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001
  3. modq = IntegersModP(q)
  4. two = modq(2)
  5. inv2 = modq(2).inverse()
  6. print("Inverse of 2 = 0x%x" % inv2.n)
  7. # This is from bellman
  8. inv2_bellman = 0x39f6d3a994cebea4199cec0404d0ec02a9ded2017fff2dff7fffffff80000001
  9. assert inv2.n == inv2_bellman
  10. assert (2 * inv2.n) % q == 1