ENCRYPT()
Encrypts data using a symmetric cipher
VARBINARY or BLOB
ENCRYPT ( input
  USING <algorithm> [MODE <mode>]
  KEY key
  [IV iv] [<ctr_type>] [CTR_LENGTH ctr_length]
  [COUNTER initial_counter] )
<algorithm> ::= <block_cipher> | <stream_cipher>
<block_cipher> ::=
    AES | ANUBIS | BLOWFISH | KHAZAD | RC5
  | RC6 | SAFER+ | TWOFISH | XTEA
<stream_cipher> ::= CHACHA20 | RC4 | SOBER128
<mode> ::= CBC | CFB | CTR | ECB | OFB
<ctr_type> ::= CTR_BIG_ENDIAN | CTR_LITTLE_ENDIAN
| Parameter | Description | 
|---|---|
input  | 
Input to encrypt as a blob or (binary) string  | 
algorithm  | 
The algorithm to use for decryption  | 
mode  | 
The algorithm mode;only for block ciphers  | 
key  | 
The encryption/decryption key  | 
iv  | 
Initialization vector or nonce;should be specified for block ciphers in all modes except   | 
ctr_type  | 
Endianness of the counter;only for   | 
ctr_length  | 
Counter length;only for   | 
initial_counter  | 
Initial counter value;only for   | 
| 
 Note 
 | 
  | 
| Algorithm | Key size (bytes) | Block size (bytes) | Notes | 
|---|---|---|---|
Block Ciphers  | 
|||
  | 
16, 24, 32  | 
16  | 
Key size determines the AES variant:  | 
  | 
16 - 40, in steps of 4 (4x)  | 
16  | 
  | 
  | 
8 - 56  | 
8  | 
  | 
  | 
16  | 
8  | 
  | 
  | 
8 - 128  | 
8  | 
  | 
  | 
8 - 128  | 
16  | 
  | 
  | 
16, 24, 32  | 
16  | 
  | 
  | 
16, 24, 32  | 
16  | 
  | 
  | 
16  | 
8  | 
  | 
Stream Ciphers  | 
|||
  | 
16, 32  | 
1  | 
Nonce size (IV) is 8 or 12 bytes.For nonce size 8, initial_counter is a 64-bit integer, for size 12, 32-bit.  | 
  | 
5 - 256  | 
1  | 
  | 
  | 
4x  | 
1  | 
Nonce size (IV) is 4y bytes, the length is independent of key size.  |