Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
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 _
Ejemplo n.º 4
0
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 _