Gateway 1 – Python

	import base64
from Cryptodome.Cipher import AES


def decrypt_AES_GCM(encryptedMsg, authTag, secretKey, iv):
	iv = base64.b64decode(iv)
	encryptedMsg = base64.b64decode(encryptedMsg)
	secretKey = base64.b64decode(secretKey)
	authTag = base64.b64decode(authTag)
	aesCipher = AES.new(secretKey, AES.MODE_GCM, iv)
	plaintext = aesCipher.decrypt_and_verify(encryptedMsg, authTag)
	return plaintext

	example = {
			"encoded" : "9bIjURJIcwoKvQr+ifOTH3HbMX+IqmsRqHuG/I1GfbSX89JE5DcWh/p8QROC5pRAuYZ7" \
"ln7RSkHXJdZpVz1LFQ2859WsetvHHui7qYmfxATOO1j0AQuPdAD3FeRH0kR4s/v3c2nV8" \
"1DnUXFCnQER/+VWrYdbu5vn8gm+diSE6CHvkK+ODy0ebVi5O6VBnWVjgBUG33VwWiAyIl" \
"7Ik435V55WnZgynH3GfbVYoGwZ5UhYtn3yw2yruiLAKu6VTBvnh/ZJP21cHCJSF6NPSd+8" \
"1gzWFU/+ECm3cf3uBbCkmKmL7HxRhRxhG0lMtX6ELZOXuw3eDJ1BTu+sSMkV/5Xk+5XX48"
"XmP6CGZ7KmP7Q3Fw1kZmhn0unFyv0Gw8PjT1Ohny/HMgNl16I=",
		"iv" : "RYjpCMtUmK54T6Lk",
		"tag" : "FUajWHmZjP4A5qaa1G0kxw==",
		"secret" : "6fNDiYU0T0/evFpmfycNai/AqF24i+rT0OmuVw0/sGQ="
	}


result = decrypt_AES_GCM(example['encoded'], example['tag'], example['secret'], example['iv'])
print(result)