'Set up the ciphers and hashes using the given keys,
@param outIV: the outgoing initialization vector
@param outKey: the outgoing encryption key
@param inIV: the incoming initialization vector
@param inKey: the incoming encryption key
@param outInteg: the outgoing integrity key
@param inInteg: the incoming integrity key.'

def setKeys(self, outIV, outKey, inIV, inKey, outInteg, inInteg):

    o = self._getCipher(self.outCipType, outIV, outKey)
    self.encryptor = o.encryptor()
    self.encBlockSize = (o.algorithm.block_size // 8)
    o = self._getCipher(self.inCipType, inIV, inKey)
    self.decryptor = o.decryptor()
    self.decBlockSize = (o.algorithm.block_size // 8)
    self.outMAC = self._getMAC(self.outMACType, outInteg)
    self.inMAC = self._getMAC(self.inMACType, inInteg)
    if self.inMAC:
        self.verifyDigestSize = self.inMAC[3]
