def __init__(self, reader, writer, secure, iv= None): """ """ self._writer = writer self._reader = reader self.secure = secure self.iv = iv if self.iv is None: self.iv = Random.new().read(block_size) if self.secure and IS_SECURE: self.mixer = Mixer(self.iv) self.read = self.decrypt_wrapper(self.read) self.write = self.encrypt_warpper(self.write)
def _get_cipher(key): hkey = SHA256.new(key).digest() cipher = AES.new(hkey, AES.MODE_CFB, Random.new().read(16)) return cipher
def encrypt_with_key(msg, key): cmsg = _get_cipher(key).encrypt(Random.new().read(16) + msg) return cmsg