for puzzle_size in puzzle_sizes: times[puzzle_size] = timedelta(0) # number of rounds rounds = 1 for i in xrange(rounds): for puzzle_size in puzzle_sizes: print "### Protocol v2 attack simulation / %s puzzles (Round %s)\n" % (puzzle_size, i) # Alice puzzles generation a = UserPuzzle(puzzle_size) start_time = datetime.now() alice_pre_puzzle_keys, alice_enc_secret_keys = a.gen_puzzles_v2() alice_time = datetime.now() - start_time # Bob receive puzzles generated by Alice and solve a random puzzle in the list b = UserPuzzle(puzzle_size) start_time = datetime.now() bob_key, bob_index = b.solve_random_puzzle_v2(alice_pre_puzzle_keys, alice_enc_secret_keys) bob_time = datetime.now() - start_time start_time = datetime.now() # Eve pre compute all puzzle keys puzzle_keys = [] for ppk in alice_pre_puzzle_keys: p = Puzzle(None, ppk, None, None) puzzle_keys.append(p.pk)