Example #1
0
class RijndaelOutputStream(BlockOutputStream):

    def __init__(self, outputStream, key, iv=None):

        super(RijndaelOutputStream, self).__init__(outputStream, 16)

        if key is None:
            raise ValueError, 'key is None'

        self._key = Key(Key.ENCRYPT, key)
        self._iv = iv or urandom(16)
        self._cipher = Cipher(Cipher.CBC, self._iv)

    def writeBlocks(self, data):

        data = self._cipher.blockEncrypt(self._key, data)
        super(RijndaelOutputStream, self).writeBlocks(data)

    def writePadded(self, data):

        data = self._cipher.padEncrypt(self._key, data)
        super(RijndaelOutputStream, self).writePadded(data)

    def close(self):

        super(RijndaelOutputStream, self).close()
        self._key = None
        self._cipher = None

    def getIV(self):

        return self._iv
Example #2
0
class RijndaelInputStream(BlockInputStream):

    def __init__(self, inputStream, key, iv):

        super(RijndaelInputStream, self).__init__(inputStream, 16)

        if key is None:
            raise ValueError, 'key is None'
        if iv is None:
            raise ValueError, 'iv is None'

        self._key = Key(Key.DECRYPT, key)
        self._cipher = Cipher(Cipher.CBC, iv)

    def readBlocks(self, len):

        data = super(RijndaelInputStream, self).readBlocks(len)
        return self._cipher.blockDecrypt(self._key, data)
        
    def readPadded(self, len):

        data = super(RijndaelInputStream, self).readPadded(len)
        return self._cipher.padDecrypt(self._key, data)

    def close(self):

        super(RijndaelInputStream, self).close()
        self._key = None
        self._cipher = None
Example #3
0
class RijndaelInputStream(BlockInputStream):
    def __init__(self, inputStream, key, iv):

        super(RijndaelInputStream, self).__init__(inputStream, 16)

        if key is None:
            raise ValueError, 'key is None'
        if iv is None:
            raise ValueError, 'iv is None'

        self._key = Key(Key.DECRYPT, key)
        self._cipher = Cipher(Cipher.CBC, iv)

    def readBlocks(self, len):

        data = super(RijndaelInputStream, self).readBlocks(len)
        return self._cipher.blockDecrypt(self._key, data)

    def readPadded(self, len):

        data = super(RijndaelInputStream, self).readPadded(len)
        return self._cipher.padDecrypt(self._key, data)

    def close(self):

        super(RijndaelInputStream, self).close()
        self._key = None
        self._cipher = None
Example #4
0
class RijndaelOutputStream(BlockOutputStream):
    def __init__(self, outputStream, key, iv=None):

        super(RijndaelOutputStream, self).__init__(outputStream, 16)

        if key is None:
            raise ValueError, 'key is None'

        self._key = Key(Key.ENCRYPT, key)
        self._iv = iv or urandom(16)
        self._cipher = Cipher(Cipher.CBC, self._iv)

    def writeBlocks(self, data):

        data = self._cipher.blockEncrypt(self._key, data)
        super(RijndaelOutputStream, self).writeBlocks(data)

    def writePadded(self, data):

        data = self._cipher.padEncrypt(self._key, data)
        super(RijndaelOutputStream, self).writePadded(data)

    def close(self):

        super(RijndaelOutputStream, self).close()
        self._key = None
        self._cipher = None

    def getIV(self):

        return self._iv
Example #5
0
    def __init__(self, outputStream, key, iv=None):

        super(RijndaelOutputStream, self).__init__(outputStream, 16)

        if key is None:
            raise ValueError, 'key is None'

        self._key = Key(Key.ENCRYPT, key)
        self._iv = iv or urandom(16)
        self._cipher = Cipher(Cipher.CBC, self._iv)
Example #6
0
    def __init__(self, inputStream, key, iv):

        super(RijndaelInputStream, self).__init__(inputStream, 16)

        if key is None:
            raise ValueError, 'key is None'
        if iv is None:
            raise ValueError, 'iv is None'

        self._key = Key(Key.DECRYPT, key)
        self._cipher = Cipher(Cipher.CBC, iv)
Example #7
0
    def __init__(self, outputStream, key, iv=None):

        super(RijndaelOutputStream, self).__init__(outputStream, 16)

        if key is None:
            raise ValueError, 'key is None'

        self._key = Key(Key.ENCRYPT, key)
        self._iv = iv or urandom(16)
        self._cipher = Cipher(Cipher.CBC, self._iv)
Example #8
0
    def __init__(self, inputStream, key, iv):

        super(RijndaelInputStream, self).__init__(inputStream, 16)

        if key is None:
            raise ValueError, 'key is None'
        if iv is None:
            raise ValueError, 'iv is None'

        self._key = Key(Key.DECRYPT, key)
        self._cipher = Cipher(Cipher.CBC, iv)