def public_key_to_coords(public_key): length = len(public_key) if length == 33: flag, x = int.from_bytes(public_key[:1], 'big'), int.from_bytes(public_key[1:], 'big') y = x_to_y(x, flag & 1) elif length == 65: x, y = int.from_bytes(public_key[1:33], 'big'), int.from_bytes(public_key[33:], 'big') else: raise ValueError('{} is an invalid length for a public key.'.format(length)) return x, y
def test_x_to_y_correct_first_solution(self): assert x_to_y(X_CORRECT, Y_CORRECT & 1) == Y_CORRECT