def test_add(self): e = [] for i in range(100): seed = str(i).encode("ascii") s = password_to_scalar(seed) e.append(Base.scalarmult(s)) for i in range(100): x = random.choice(e) y = random.choice(e) sum1 = element_from_affine( slow_add_affine(xform_extended_to_affine(x.XYTZ), xform_extended_to_affine(y.XYTZ))) sum2 = x.add(y) self.assertElementsEqual(sum1, sum2) if x != y: sum3 = Element(_add_elements_nonunfied(x.XYTZ, y.XYTZ)) self.assertElementsEqual(sum1, sum3)
def _scalarmult_affine_to_extended_inner(xpt, n): if n == 0: return xform_affine_to_extended((0, 1)) _ = double_element(_scalarmult_affine_to_extended_inner(xpt, n >> 1)) return _add_elements_nonunfied(_, xpt) if n & 1 else _
def _scalarmult_affine_to_extended_inner(xpt, n): if n==0: return xform_affine_to_extended((0,1)) _ = double_element(_scalarmult_affine_to_extended_inner(xpt, n>>1)) return _add_elements_nonunfied(_, xpt) if n&1 else _