Beispiel #1
0
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
Beispiel #3
0
	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))