Example #1
0
    def __init__(self, key=None, padding=padWithPadLen(), keySize=16):
        """ Initialize AES, keySize is in bytes """
        if not (keySize == 16 or keySize == 24 or keySize == 32):
            raise BadKeySizeError, 'Illegal AES key size, must be 16, 24, or 32 bytes'

        Rijndael.__init__(self, key, padding=padding, keySize=keySize, blockSize=16)

        self.name = 'AES'
Example #2
0
    def __init__(self, key = None, padding = padWithPadLen(), keySize=16):
        """ Initialize AES, keySize is in bytes """
        if  not (keySize == 16 or keySize == 24 or keySize == 32) :
            raise BadKeySizeError, 'Illegal AES key size, must be 16, 24, or 32 bytes'

        Rijndael.__init__( self, key, padding=padding, keySize=keySize, blockSize=16 )

        self.name       = 'AES'
Example #3
0
    def __init__(self, key = None, padding = padWithPadLen(), keySize=16, blockSize=16 ):
        self.name       = 'RIJNDAEL'
        self.keySize    = keySize
        self.strength   = keySize*8
        self.blockSize  = blockSize  # blockSize is in bytes
        self.padding    = padding    # change default to noPadding() to get normal ECB behavior

        assert( keySize%4==0 and NrTable[4].has_key(keySize/4)),'key size must be 16,20,24,29 or 32 bytes'
        assert( blockSize%4==0 and NrTable.has_key(blockSize/4)), 'block size must be 16,20,24,29 or 32 bytes'

        self.Nb = self.blockSize/4          # Nb is number of columns of 32 bit words
        self.Nk = keySize/4                 # Nk is the key length in 32-bit words
        self.Nr = NrTable[self.Nb][self.Nk] # The number of rounds (Nr) is a function of
                                            # the block (Nb) and key (Nk) sizes.
        if key != None:
            self.setKey(key)
Example #4
0
    def __init__(self,
                 key=None,
                 padding=padWithPadLen(),
                 keySize=16,
                 blockSize=16):
        self.name = 'RIJNDAEL'
        self.keySize = keySize
        self.strength = keySize * 8
        self.blockSize = blockSize  # blockSize is in bytes
        self.padding = padding  # change default to noPadding() to get normal ECB behavior

        assert (keySize % 4 == 0 and keySize / 4
                in NrTable[4]), 'key size must be 16,20,24,29 or 32 bytes'
        assert (blockSize % 4 == 0 and blockSize / 4
                in NrTable), 'block size must be 16,20,24,29 or 32 bytes'

        self.Nb = self.blockSize / 4  # Nb is number of columns of 32 bit words
        self.Nk = keySize / 4  # Nk is the key length in 32-bit words
        self.Nr = NrTable[self.Nb][
            self.Nk]  # The number of rounds (Nr) is a function of
        # the block (Nb) and key (Nk) sizes.
        if key != None:
            self.setKey(key)
Example #5
0
 def __init__(self, key=None, padding=padWithPadLen(), keySize=16):
     CBC.__init__(self, AES(key, noPadding(), keySize), padding)
     self.name = 'AES_CBC'
Example #6
0
 def __init__(self, key=None, padding=padWithPadLen(), keySize=16):
     CBC.__init__( self, AES(key, noPadding(), keySize), padding)
     self.name       = 'AES_CBC'