Let,
Inputs:
key = key used to encrypt the plaintext.
IV = initialization vector.
plainText = plaintext need to be encrypted.
authData = addition data need to be authenticated which is not encrypted.
Outputs:
cipherText = encrypted plain text.
authTag = Authentication tag required to verify authenticity of cipherText and authData
Then,
cipherText = aes-ctr(key, IV+1, plainText);
authTag = AES-CTR(key, IV, keyDependentPoint-H(key, (cipherText-aes-ctr + authdata)));
Note: IV+1 is used for generating cipherText and the first IV is saved for encrypting the generated hash at later point of time when cipherText is generated.
Ref: GCM-Galois Counter Mode with IV & Cipher
Ref: Galois/Counter Mode
am I doing any mistake?
This question is asked to ensure the above relation of AES-GCM with AES-CTR is correct and help others to understand AES-GCM in a simple and convincing way.
This question is derived from this question.