def stage4(self): s4_success = False while not s4_success: s4_buffer = network.recv_bcast(config.UDP_PAIRING_PORT)[0] try: target_server_guid = s4_buffer.split("$")[0] if target_server_guid == self.passwddb.get_server_guid(): decrypted_payload = safe.decrypt_aes(s4_buffer.split("$")[1], self.user_info.aes_key) if decrypted_payload == "OK": msg = self.candidate_smartphone_guid + "$" + safe.encrypt_aes("OK", self.user_info.aes_key) network.send_bcast(config.UDP_PAIRING_PORT, msg) self.user_info.smartphone_guid = self.candidate_smartphone_guid self.passwddb.save_user_info(self.user_info) except IndexError: print "Received message in unknown format"
def stage3(self): server_guid = self.passwddb.get_server_guid() msg = server_guid + "$" + self.user_info.username encrypted_server_guid = safe.encrypt_aes(msg, self.user_info.aes_key) network.send_bcast(config.UDP_PAIRING_PORT, server_guid + "$" + encrypted_server_guid)
def stage1(self): enc_msg = "REQUEST:"+self.user_info.smartphone_guid+":"+self.passwddb.get_server_guid()+":"+self.username msg = self.user_info.smartphone_guid + ":" + safe.encrypt_aes(enc_msg, self.user_info.aes_key) network.send_bcast(config.UDP_AUTH_PORT,msg)