def test_order_correct(): for k in range(10): a = bytes_to_long(urandom(16)) g = fford(a) assert ffexp(a, g) == (1 << 127) assert fford(1 << 127) == 1
def test_order_reduction(): factors = (3, 5, 17, 257, 641, 65537, 274177, 6700417, 67280421310721) a = bytes_to_long(urandom(16)) for factor in factors: if fford(a) % factor == 0: assert fford(ffexp(a, factor)) % factor != 0