import argparse import socket import contextlib from ot import alice from net import send, send_point, recv, recv_point def main(): p = argparse.ArgumentParser() p.add_argument('msg0', help='First file which Bob can receive') p.add_argument('msg1', help='Second file which Bob can receive') p.add_argument('-p', '--port', type=int, default=8080) args = p.parse_args() with open(args.msg0, 'rb') as f0, open(args.msg1, 'rb') as f1: m0 = f0.read() m1 = f1.read() with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind(('0.0.0.0', args.port)) s.listen(1) bob, address = s.accept() ip, _ = address a = alice(m0, m1) send_point(bob, a.send(None)) send(bob, a.send(recv_point(bob))) if __name__ == "__main__": main()