def generate_check_vector(message, max_length):
    '''
    Args:
        message, the integer to be authenticated
        max_length, a value greater than or equal to len(str(message))
    Returns:
        (key, vector) where key is the integer MAC key and vector is the tuple MAC tag
    '''
    prime = get_large_prime(max_length)  # the probability of failure for prime p is 1/2^p

    b = random.get_random_positive_int_in_field(prime)
    y = random.get_random_int_in_field(prime)

    return y, (b, (message + b * y) % prime)
Ejemplo n.º 2
0
def test_random_positive_single():
    prime = 3
    for i in range(100):
        random_int = random.get_random_positive_int_in_field(prime)
        assert random_int > 0