Galois-Counter Mode is a mode of operation for Symmetric Key cryptographic Block Ciphers that has been widely adopted because of its efficiency and performance. Galois-Counter Mode throughput rates for state of the art, high speed communication channels can be achieved with reasonable hardware resources.
The operation is an authenticated Encryption algorithm designed to provide both data integrity and confidentiality. GCM is defined for block ciphers with a block size of 128 bits. Galois Message Authentication Code (GMAC) is an authentication-only variant of the Galois-Counter Mode which can be used as an incremental Message Authentication Code (MAC). Both GCM and GMAC can accept initialization vectors of arbitrary length.
Different block cipher modes of operation can have significantly different performance and efficiency characteristics, even when used with the same block cipher. GCM can take full advantage of parallel processing and implementing GCM can make efficient use of an instruction pipeline or a hardware pipeline. In contrast, the Cipher Block Chaining (CBC) mode of operation incurs significant pipeline stalls that hamper its efficiency and performance.