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.
cipherText = encrypted plain text. authTag = Authentication tag required to verify authenticity of cipherText and authData
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: 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.