This chapter describes the symmetric ciphers implemented by GNU Crypto,
and how to create and use them. The package name for all GNU Crypto
ciphers is `gnu.crypto.cipher`

. The ciphers implemented by GNU Crypto
are:

- The
**Advanced Encryption Standard**, or the**AES**. The AES is a symmetric block cipher with a 128 bit block size and a key size of 128, 192, or 256 bits. The AES was adopted as US FIPS PUB 197 [NIST01] by the National Institute of Standards and Technology (NIST) in November 2001 after a five-year process of standarization and public comment. The AES was written by Joan Daemen and Vincent Rijmen for the AES process, and is derived from the Rijndael cipher. **Anubis**. The Anubis cipher is a symmetric block cipher with a 128 bit block size and a key size from 128 to 320 bits, with increments of 32 bits. Anubis was designed by Paulo Barreto and Vincent Rijmen, and has been submitted as a candidate cipher to the New European Schemes for Signatures, Integrity, and Encryption (NESSIE) process.**Blowfish**. The Blowfish symmetric block cipher was designed by Bruce Schneier. It has a 64 bit block size and a key size of up to 448 bits. Blowfish encryption and decryption are very fast in software, especially on 32 bit microprocessor architectures.**DES**. DES is the Data encryption standard, a 64-bit cipher with a 56-bit key. DES was developed by IBM in the 1970's for a standardization process begun by the National Bureau of Standards (now NIST). DES should not be used in new applications in favor of the new standard, AES, except for compatibility.**Identity cipher**. The identity, or null cipher, is not a true cipher as it does not transform the data input, but rather copies it directly to the output.**Khazad**. The Khazad cipher is a symmetric block cipher with a 64 bit block size and a 128 bit key size. Khazad was designed by Paulo Barreto and Vincent Rijmen, and has been submitted as a candidate cipher to the New European Schemes for Signatures, Integrity, and Encryption (NESSIE) process.**Rijndael**. Rijndael is a symmetric block cipher written by Joan Daemen and Vincent Rijmen as a candidate to the Advanced Encryption Standard process, and was adopted as the AES. Rijndael additionally has a 192 and 256 bit block size.**Serpent**. The Serpent cipher was designed by Ross Anderson, Eli Biham, and Lars Knudsen as a proposed cipher for the Advanced Encryption Standard. Serpent has a 128 bit block size, and a key size of 128, 192, or 256 bits.**Square**. The Square cipher was designed by Joan Daemen and Vincent Rijmen and was cryptanalyzed by Lars Knudsen. It has a 128 bit block size and a 128 bit key size.**Triple-DES**, or DESede, is a combined cipher based on the Data Encryption Standard. It is the iteration of three seperate instances of DES with three independent keys, and therefore has a 64 bit block size and a key size of 168 bits.**Twofish**. The Twofish cipher was designed by Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, and Niels Ferguson as a proposed cipher for the Advanced Encryption Standard. Twofish has a 128 bit block size, and a key size of 128, 192, or 256 bits.