Please give me a summary of what AES-GCM is and what are its inputs and outputs.

In cryptography, Galois/Counter Mode (GCM)[1] 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.[2]

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.

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.