def handshake(): url = "http://127.0.0.1:3864/handshake" main_content = {} content = {} PrimeNumber, BaseNumber = generatePairKey.generatePublicVariable() private_key, public_key = generatePairKey.generatePairKeys() secret_variable = random.randint(1, 1000) content['sharedPrime'] = hex(int(PrimeNumber)) content['sharedBase'] = hex(int(BaseNumber)) content['partial_key'] = hex( int( generatePairKey.sharedkey(int(PrimeNumber), int(BaseNumber), secret_variable))) encrypted_content = generatePairKey.encryptMessageFromPublicNetwork( json.dumps(content), 'Server').decode('UTF-8') main_content['public_key'] = public_key.exportKey('PEM').decode('UTF-8') main_content['encrypted'] = encrypted_content payload = json.dumps(main_content) headers = {} print(type(payload)) response = requests.request("POST", url, headers=headers, data=payload) reply = response.text decrypted = generatePairKey.decryptMessageWithPrivateKey( reply, private_key) decrypted_content = json.loads(decrypted) print(decrypted_content) MyID = decrypted_content['id'] sharedkey = generatePairKey.sharedkey( PrimeNumber, int(decrypted_content['partial_key'], 16), secret_variable) return MyID, sharedkey
def setup(): private_key, public_key = generatePairKey.generatePairKeys() generatePairKey.generatePairKey('Server', private_key, public_key)