def __main__(argv): min_key_len = 1024 if(len(argv) != 15): raise ValueError, "Usage: %s id key_len round_id n_nodes my_ip my_port leader_ip leader_port dnstr_ip dnstr_port upstr_ip upstr_port msg_len max_len" % (argv[0]) logger = logging.getLogger() logger.setLevel(logging.DEBUG) id = int(argv[1]) key_len = int(argv[2]) round_id = int(argv[3]) n_nodes = int(argv[4]) my_addr = (argv[5], int(argv[6])) leader_addr = (argv[7], int(argv[8])) up_addr = (argv[9], int(argv[10])) dn_addr = (argv[11], int(argv[12])) msg_len = int(argv[13]) max_len = int(argv[14]) msg_file = AnonCrypto.random_file(msg_len) node = shuffle_node.shuffle_node(id, key_len, round_id, n_nodes, my_addr, leader_addr, up_addr, dn_addr, msg_file, max_len) #cProfile.runctx('node.run_protocol()', {}, {'node': node}) node.run_protocol() fnames = node.output_filenames() # for i in xrange(0, len(fnames)): # copyfile(fnames[i], "data/node%04d-%04d.out" % (id, i)) return
def __main__(argv): min_key_len = 1024 if (len(argv) != 16): raise ValueError, "Usage: %s id key_len round_id n_nodes my_ip my_port leader_ip leader_port dnstr_ip dnstr_port upstr_ip upstr_port msg_len max_len mode" % ( argv[0]) logger = logging.getLogger() logger.setLevel(logging.DEBUG) id = int(argv[1]) key_len = int(argv[2]) round_id = int(argv[3]) n_nodes = int(argv[4]) my_addr = (argv[5], int(argv[6])) leader_addr = (argv[7], int(argv[8])) up_addr = (argv[9], int(argv[10])) dn_addr = (argv[11], int(argv[12])) msg_len = int(argv[13]) max_len = int(argv[14]) mode = int(argv[15]) msg_file = AnonCrypto.random_file(msg_len) node = shuffle_node.shuffle_node(id, key_len, round_id, n_nodes, my_addr, leader_addr, up_addr, dn_addr, msg_file, max_len) #cProfile.runctx('node.run_protocol()', {}, {'node': node}) node.run_bad_protocol(mode) fnames = node.output_filenames() print "--------------------------------------------------------------------" # for i in xrange(0, len(fnames)): # copyfile(fnames[i], "data/node%04d-%04d.out" % (id, i)) return
def run_phase2(self): """ Start up a shuffle node""" s = shuffle_node( self.id, self.key_len, self.round_id, self.n_nodes, (self.ip, self.port), self.leader_addr, self.prev_addr, self.next_addr, self.dfilename, # Max msg length given the number of bits we need # to represent the length 1 << int(ceil(log(os.path.getsize(self.dfilename),2))), self.participants_vector, self.key1, self.key2, self.sockets) s.run_protocol() fnames = s.output_filenames() """ Each message descriptor is stored in one of the files in the fnames array. """ self.msg_data = [] for filename in fnames: with open(filename, 'r') as f_in: """ Read in each message descriptor """ (r_id, r_round_id, r_msg_len, r_msg_hash, r_enc_seeds, r_hashes) = marshal.load(f_in) if self.round_id != r_round_id: raise RuntimeError, 'Mismatched round ids' if r_id not in xrange(0, self.n_nodes): raise RuntimeError, 'Invalid node id' self.debug("Got data from node %d. Msg len: %d" % (r_id, r_msg_len)) self.msg_data.append((r_msg_len, r_enc_seeds, r_hashes, r_msg_hash))