s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
data = s.recv(BUFFER_SIZE)
x25519_gen='{ "version": 1 , "algorithm":"X25519", "operation":"gen"}'
req=json.loads(x25519_gen)
print "Send gen parameters (A): \n " + json.dumps(req) +"\n"
data_js_n=sending(json.dumps(req))
answ=json.loads(data_js_n)
print "Recived gen parameters donde (A): \n" + (json.dumps(answ)) +"\n\n\n"
data_js_n=sending(json.dumps(req))
print "Send gen parameters (B): \n " + json.dumps(req) +"\n"
answ_1=json.loads(data_js_n)
print "Recived gen parameters donde (B): \n" + (json.dumps(answ_1)) +"\n\n\n"
agree='{ "version":1 , "algorithm":"X25519", "privkey":"","sharedpub":"", "operation":"agree"}'
req["privkey"]=answ["privkey"]
req["sharedpub"]=answ_1["pubkey"]
print "Send agreetment (A): \n " + json.dumps(req) +"\n"
data_js_n=sending(json.dumps(req))
answ_2=json.loads(data_js_n)
print "Recived agreetment donde (A): \n" + (json.dumps(answ_2)) +"\n\n\n"
req["privkey"]=answ_1["privkey"]
req["sharedpub"]=answ["pubkey"]
print "Send agreetment (B): \n " + json.dumps(req) +"\n"
data_js_n=sending(json.dumps(req))
answ_3=json.loads(data_js_n)
print "Recived agreetment donde (B): \n" + (json.dumps(answ_3)) +"\n\n\n"