def normalize(self): if self.z_coord == 0: return self else: inv = inverse_mod(self.z_coord, self.ec.modulus) x = (self.x_coord * inv) % self.ec.modulus y = (self.y_coord * inv) % self.ec.modulus return Point(x, y, 1, self.ec)
def test_inverse_mod(self): self.assertEqual(inverse_mod(5, 13), 8) self.assertEqual(inverse_mod(138, 7993), 6545)