e-CryptIt Engine Xojo Plugin

AES_CBC Class (console safe)

AES is a block cipher, it was chosen as the official Advanced Encryption Standard (AES). The AES algorithm has been extensively crypto-analyzed. AES is also often known as Rijndael.

When AES is in CBC mode then the blocks are chained together with a IV vector.

The key size in AES can be 128,192 or 256 bits.
The block size in AES is 128 bits (16 bytes).

Object
   AES_CBC

class AES_CBC implements

IEncryptionAlgorithm

Constructors

AES_CBCA constructor that takes the key as String
AES_CBCA constructor that takes the key as MemoryBlock
AES_CBCConstructor that takes key as String and iv as String.
AES_CBCConstructor that takes key as MemoryBlock and iv as MemoryBlock.

Methods

DecryptUse this function to decrypt a block of data that comes from string. Because AES works on blocks of 16 bytes then you get the best performance if the block size that you pass to it is dividable by 16. The class has built in cache technology so it will work if the the block size is not dividable by 16, but it will be slower.
DecryptUse this function to decrypt a block of data that comes from MemortBlock. Because AES works on blocks of 16 bytes then you get the best performance if the block size that you pass to it is dividable by 16. The class has built in cache technology so it will work if the the block size is not dividable by 16, but it will be slower.
EncryptUse this function to encrypt a block of data that comes from string. Because AES works on blocks of 16 bytes then you get the best performance if the block size that you pass to it is dividable by 16. The class has built in cache technology so it will work if the the block size is not dividable by 8, but it will be slower.
EncryptUse this function to encrypt a block of data that comes from MemoryBlock. Because AES works on blocks of 16 bytes then you get the best performance if the block size that you pass to it is dividable by 16. The class has built in cache technology so it will work if the the block size is not dividable by 8, but it will be slower.
FinishDecryptUse this function to finish decrypting and getting the final bytes as string after you have decrypted all of the blocks.
FinishDecryptBlockUse this function to finish decrypting and getting the final bytes as MemoryBlock after you have decrypted all of the blocks.
FinishEncryptUse this function to finish encrypting and getting the final bytes as String after you have encrypted all of the blocks.
FinishEncryptBlockUse this function to finish encrypting and getting the final bytes as MemoryBlock after you have encrypted all of the blocks.
PaddingBlockSizeUse this property to get the padding value that is needed for this algorithm. (AES will always return 16 here).

Supported Platforms:

  • MacOS X Cocoa 32 bit
  • MacOS X Cocoa 64 bit
  • Windows 32 bit
  • Windows 64 bit
  • Linux 32 bit
  • Linux 64 bit
  • Linux ARM