A defined set of cipher modes the algorithms can use.
Public Enum CipherMode
- CBC = 1
- The Cipher Block Chaining (CBC) uses a feedback mechanism by Exclusive ORing the previously encrypted block of data
with the current block being processed. This is to prevent two identical blocks from encrypting into the same to encrypted
blocks of data, making it more difficult to break the encryption. An Initialization Vector array is also used by Exclusive
ORing the vector with the current block before encryption.
- ECB = 2
- The Electronic Codebook (ECB) processes blocks individually and does not alter identical blocks of data.
If two or more blocks of data are the same then their encrypted blocks will also be the same. A message with several
identical blocks could become easier to decrypt.
- OFB = 3
- The Output Feedback (OFB) method processes small increments of blocks into ciphered text instead of the entire
block at one time. This works similar to the Cipher Feedback method, except if a ciphered bit is corrupted, then all plain text
data following the bit will be corrupted.
- CFB = 4
- The Cipher Feedback (CFB) method processes small increments of plain text into ciphered text instead of the entire
block at one time. The method uses a shift register that is one block in length. If one bit of ciphered data is corrupted, then
the corrisponding plain text bit is also corrupted until the corrupted bit is finally shifted out of the register.
- CTS = 5
- The Cipher Text Stealing (CTS) mode handles any length of plain text and produces cipher text whose length matches
the plain text length. This mode behaves like the CBC mode for all but the last two blocks of the plain text.
Project VBCorLib Overview
Class SymmetricAlgorithm Overview