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()
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
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 ''
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 ''
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
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)
def testReturnsGitHubFormatted(self): message = utils.generate_message(GITHUB_JSON) self.assertEquals(types.FunctionType, type(message))
def testReturnsNormalMessages(self): self.assertEquals("data=foo", utils.generate_message("data=foo"))
def testReturnsIdentityIfJustMessage(self): self.assertEquals("foo", utils.generate_message("foo"))
def testReturnsBlankIfBodyIsBlank(self): self.assertEquals("", utils.generate_message(""))