### 5.2 Available cipher modes

`GCRY_CIPHER_MODE_NONE`

  No mode specified. This should not be used. The only exception is that if Libgcrypt is not used in FIPS mode and if any debug flag has been set, this mode may be used to bypass the actual encryption.

`GCRY_CIPHER_MODE_ECB`

  Electronic Codebook mode.

`GCRY_CIPHER_MODE_CFB`

  Cipher Feedback mode. The shift size equals the block size of the cipher (e.g. for AES it is CFB-128).

`GCRY_CIPHER_MODE_CBC`

  Cipher Block Chaining mode.

`GCRY_CIPHER_MODE_STREAM`

  Stream mode, only to be used with stream cipher algorithms.

`GCRY_CIPHER_MODE_OFB`

  Output Feedback mode.

`GCRY_CIPHER_MODE_CTR`

  Counter mode.

`GCRY_CIPHER_MODE_AESWRAP`

  This mode is used to implement the AES-Wrap algorithm according to RFC-3394. It may be used with any 128 bit block length algorithm, however the specs require one of the 3 AES algorithms. These special conditions apply: If `gcry_cipher_setiv` has not been used the standard IV is used; if it has been used the lower 64 bit of the IV are used as the Alternative Initial Value. On encryption the provided output buffer must be 64 bit (8 byte) larger than the input buffer; in-place encryption is still allowed. On decryption the output buffer may be specified 64 bit (8 byte) shorter than then input buffer. As per specs the input length must be at least 128 bits and the length must be a multiple of 64 bits.

`GCRY_CIPHER_MODE_CCM`

  Counter with CBC-MAC mode is an Authenticated Encryption with Associated Data (AEAD) block cipher mode, which is specified in ’NIST Special Publication 800-38C’ and RFC 3610.

`GCRY_CIPHER_MODE_GCM`

  Galois/Counter Mode (GCM) is an Authenticated Encryption with Associated Data (AEAD) block cipher mode, which is specified in ’NIST Special Publication 800-38D’.