Symmetric algorithms are algorithms for cryptography that use the same key to encrypt and decrypt the message. They can be divided into stream ciphers and block ciphers. The former encrypts the bits of the message one at a time, while the latter takes a number of bits and encrypts them as a a single unit. Blocks of 64 bits have been common; the Advanced Encryption Standard algorithm approved by NIST in December 2001 uses 128 bit blocks. Symmetric algorithms are generally much faster to execute electronically than asymmetric algorithms.