import socket import pickle import struct import ecpy.curves from ot 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(' 0: read = s.recv(toread) pickled += read toread -= len(pickled) return pickle.loads(pickled)