Example #1
0
        async def run(self):
            action = generate_action()
            print_message(f"Agent is dispatching {action} action...")
            message = generate_message(AGENT1_USERNAME, action)
            await self.send(message)

            self.period = generate_random_period()
Example #2
0
	def handle_push(self, url, pushed_content):
		wave_id = utils.extract_wave_id(url)
		if (wave_id == ""):
			return False
		wavelet_id = utils.generate_wavelet_id_from_wave_id(wave_id)
		message = utils.generate_message(pushed_content)
		self._reply_to_wave(wave_id, wavelet_id, message)
		return True
Example #3
0
def test_general():
    """run message length test for AES, DES, DES3"""
    segment_greeting(greet="General Encryption Test")

    files = 'DES.dat', 'DES3.dat', 'AES.dat'
    cellers = DES_celler, DES3_celler, AES_celler

    print("Key Size: 128\n" "Cellers: {0}").format(('DES', 'DES3', 'AES'))

    key = Key.random_key(128)[:16]
    print Colors.colorize('key: ', 'cyan', 'black', 'bold'), key

    turns = 13
    print Colors.colorize('test turns: ', 'cyan', 'black', 'bold'), turns

    for index, celler in enumerate(cellers):
        lens = []
        deltas = []
        key_ = key[:8] if index == 0 else key
        cell = files[index].split('.')[0]
        print Colors.colorize('run test for ' + cell, 'cyan', 'black', 'bold')
        print '-' * 80

        print Colors.colorize('Tester Result: ', 'cyan', 'black', 'bold')
        print('{:>15}' * 3).format('message len', 'status', 'runtime(s)')
        print ''
        for length in length_generator(turns):
            lens.append(length)
            message = generate_message(length)
            start = time.clock()
            ret = celler(message, key_)
            stop = time.clock()
            delta = stop - start
            deltas.append(delta)
            status = 'success' if ret else 'fail'
            print('{:>15}' * 3).format(humanize_bytes(length), status, delta)

        print '-' * 80
        print Colors.colorize('Time Consuming Growing: ', 'cyan', 'black',
                              'bold')
        gnuplot(
            'message growing',
            lens,
            deltas,
            lens[-1],
            deltas[-1],
            'message/bytes',
            'time/s',
        )
        curve.fit(lens, deltas)
        print Colors.colorize('Scipy Curve Fit: ', 'cyan', 'black',
                              'bold'), curve
        _, ys = curve.sample()
        save_data(lens, deltas, ys, files[index])
        print ''
Example #4
0
def test_message():
    """test for the message length

	"""
    segment_greeting(greet="SEF Message Length Test")

    key = Key.random_key(64)
    print Colors.colorize('encrypt key: ', 'cyan', 'black', 'bold'), key

    mask = 5
    print Colors.colorize('mask: ', 'cyan', 'black', 'bold'), mask

    turns = 13
    print Colors.colorize('test turns: ', 'cyan', 'black', 'bold'), turns

    print Colors.colorize('Tester Result: ', 'cyan', 'black', 'bold')
    print('{:>15}' * 3).format('message len', 'status', 'runtime(s)')
    print '-' * 80
    print ''
    lens = []
    deltas = []
    for length in length_generator(turns):
        # get the message
        lens.append(length)
        message = generate_message(length)
        # measure time
        start = time.clock()
        ret = SEF_celler(message, key, mask)
        stop = time.clock()
        delta = stop - start
        deltas.append(delta)
        status = 'success' if ret else 'fail'
        print('{:>15}' * 3).format(humanize_bytes(length), status, delta)

    print '-' * 80
    print Colors.colorize('Time Consuming Growing: ', 'cyan', 'black', 'bold')
    gnuplot(
        'message growing',
        lens,
        deltas,
        lens[-1],
        deltas[-1],
        'message/bytes',
        'time/s',
    )
    curve.fit(lens, deltas)
    print Colors.colorize('Scipy Curve Fit: ', 'cyan', 'black', 'bold'), curve
    _, ys = curve.sample()
    save_data(lens, deltas, ys, 'SEF.dat')
    print ''
Example #5
0
	if out:
		save_encrypt(cipher, out)
	message_ = aes.decrypt(cipher)
	# depad the message
	message_ = message_[:-bsize] + PKCS7.depad(message_[-bsize:], bsize)
	return message == message_



if __name__ == '__main__':

	debug = False 
	
	from utils import generate_message

	message = generate_message(78)

	# DES
	key = Key.random_key(64)[:8]
	print DES_celler(message, key)
	print '-' * 80

	# 3DES
	key = Key.random_key(64)[:16]
	print DES3_celler(message, key)
	print '-' * 80

	# AES
	key = Key.random_key(64)[:16]
	print AES_celler(message, key)
	print '-' * 80
Example #6
0
def test_key_relation():
    """test the key relation with cipher

	test times : 3
	"""
    segment_greeting(greet='SEF Key & Cipher')

    mask = 5
    print Colors.colorize('Mask: ', 'cyan', 'black', 'bold'), mask

    times = 3
    key = Key.random_key(256)
    keys = [key[16 * time:16 * (time + 1)] for time in range(times)]
    print Colors.colorize('Keys: ', 'cyan', 'black', 'bold')
    pprint(keys)

    message = generate_message(1024)
    msize = len(message)
    print Colors.colorize('Message Size: ', 'cyan', 'black', 'bold'), msize
    print Colors.colorize('Message: ', 'cyan', 'black', 'bold')
    pprint(message)
    print ''

    def unsimilara_rate(item1, item2):
        """return rate"""
        counter = 0
        csize = len(item1)
        for index, letter in enumerate(item1):
            if item1[index] != item2[index]:
                counter += 1

        rate = counter * 0.1 / csize * 100
        return rate

    def key_relation(key, message):
        """test key relation"""
        key_ = random_key_bits(key)
        print Colors.colorize('Key: ', 'cyan', 'black', 'bold'), key
        print Colors.colorize('ALT: ', 'cyan', 'black', 'bold'), key_

        message1 = sef_encrypt(key, mask, message)
        message2 = sef_encrypt(key_, mask, message)

        if len(message2) != len(message1):
            raise Exception('encryption error')

        rate = unsimilara_rate(message1, message2)
        print Colors.colorize('Change Rate: ', 'cyan', 'black',
                              'bold'), '%.3f %%' % rate
        print ''

    def message_relation(key, message):
        """test the message relation"""
        byte = random.randrange(msize)
        letter = message[byte]
        message_ = message[:byte] + chr(ord(letter) + 1) + message[byte:]

        print Colors.colorize('MSG: ', 'cyan', 'black', 'bold')
        pprint(message_)

        print Colors.colorize('Index: ', 'cyan', 'black', 'bold'), byte

        message1 = sef_encrypt(key, mask, message)
        message2 = sef_encrypt(key, mask, message_)

        if len(message2) != len(message1):
            raise Exception('encryption error')

        rate = unsimilara_rate(message1, message2)
        print Colors.colorize('Change Rate: ', 'cyan', 'black',
                              'bold'), '%.3f %%' % rate
        print ''

    for key in keys:
        print '*' * 80
        key_relation(key, message)
        print '-' * 80
        message_relation(key, message)
Example #7
0
	def testReturnsGitHubFormatted(self):
		message = utils.generate_message(GITHUB_JSON)
		self.assertEquals(types.FunctionType, type(message))
Example #8
0
	def testReturnsNormalMessages(self):
		self.assertEquals("data=foo", utils.generate_message("data=foo"))
Example #9
0
	def testReturnsIdentityIfJustMessage(self):
		self.assertEquals("foo", utils.generate_message("foo"))
Example #10
0
	def testReturnsBlankIfBodyIsBlank(self):
		self.assertEquals("", utils.generate_message(""))