bob = Client(server_input_queue=server_input_queue, server_output_queue=server_output_queue, name='bob', h_0='6850', K=50, key='4321', secret=(3, 27)) charlie = Client(server_input_queue=server_input_queue, server_output_queue=server_output_queue, name='charlie', h_0='5478', K=50, key='5678', secret=(7, 21)) passwords = {'alice': (hash_n_times(alice.h_0, 50), 50, 1), 'bob': (hash_n_times(bob.h_0, 50), 50, 1), 'charlie': (hash_n_times(charlie.h_0, 50), 50, 1) } server = Server(input_queue=server_input_queue, output_queue=server_output_queue, p=31, passwords=passwords, polynomial=[1, 4, 6], keys=keys) assert alice.successfully_finished is None assert bob.successfully_finished is None assert charlie.successfully_finished is None
def prepare_encrypted_message(self): message = '{0}:{1}:{2}'.format(self.name, self.index, hash_n_times(self.h_0, self.K - self.index)) self.cipher = Cipher(self.key) return self.cipher.encrypt(message)
david = Client(server_input_queue=server_input_queue, server_output_queue=server_output_queue, name='david', h_0='7788', K=50, key='8812', secret=(8, com_po(8, poly) % 31)) edvard = Client(server_input_queue=server_input_queue, server_output_queue=server_output_queue, name='edvard', h_0='9977', K=50, key='1111', secret=(1, com_po(1, poly) % 31)) passwords = {'alice': (hash_n_times(alice.h_0, 50), 50, 1), 'bob': (hash_n_times(bob.h_0, 50), 50, 1), 'charlie': (hash_n_times(charlie.h_0, 50), 50, 1), 'david': (hash_n_times(david.h_0, 50), 50, 1), 'edvard': (hash_n_times(edvard.h_0, 50), 50, 1) } server = Server(input_queue=server_input_queue, output_queue=server_output_queue, p=31, passwords=passwords, polynomial=poly, keys=keys) assert alice.successfully_finished is None assert bob.successfully_finished is None