def __init__(self, value, order, rand = False):
     '''Creates an element value in the field F_order^2.
     value must be an array [c,d] that describes polynomial cx + d
     If rand parameter is set to True, value will be ignored and a random 
     element of the field will be returned. 
     @note: Ensuring that order is prime is programmer responsibility!  
     '''
     assert order > 1
     if rand:
         self.value = [get_256_random_bits_os() % order,
                       get_256_random_bits_os() % order]
     else:
         self.value = [value[0] % order, value[1] % order]
     self.order = order
     self.orderexp = order ** self.exp
 def __init__(self, value, order, rand = False):
     '''Creates an element value in the field F_order.
     If rand parameter is set to True, value will be ignored and a random 
     element of the field will be returned. 
     @note: Ensuring that order is prime is programmer responsibility!  
     '''
     assert order > 1
     if rand:
         self.value = get_256_random_bits_os() % order
     else:
         self.value = value % order
     self.order = order