import socket import pickle import struct import ecpy.curves from otp import curve def send_point(s: socket.socket, point: ecpy.curves.Point): send(s, (point.x, point.y)) def recv_point(s: socket.socket) -> ecpy.curves.Point: point = recv(s) return ecpy.curves.Point(point[0], point[1], curve) def send(s: socket.socket, data): data = pickle.dumps(data, protocol=4) data = struct.pack('