<|im_start|>user
Please give me a summary of what AES-GCM is and what are its inputs and outputs.

Context:
In cryptography, Galois/Counter Mode (GCM) is a mode of operation for symmetric-key cryptographic block ciphers which is widely adopted for its performance. GCM throughput rates for state-of-the-art, high-speed communication channels can be achieved with inexpensive hardware resources.

The GCM algorithm provides both data authenticity (integrity) and confidentiality and belongs to the class of authenticated encryption with associated data (AEAD) methods. This means that as input it takes a key K, some plaintext P, and some associated data AD; it then encrypts the plaintext using the key to produce ciphertext C, and computes an authentication tag T from the ciphertext and the associated data (which remains unencrypted). A recipient with knowledge of K, upon reception of AD, C and T, can decrypt the ciphertext to recover the plaintext P and can check the tag T to ensure that neither ciphertext nor associated data were tampered with.<|im_end|>
<|im_start|>assistant
AES-GCM is a mode of operation for symmetric-key cryptography. It stands for Galois/Counter Mode and is an authenticated block cipher that provides integrity and authenticity on top of confidentiality. It accepts as input a key K, a plaintest P and associated data AD, and it produces as output the ciphertext C and an authentication tag T.<|im_end|>
