code: def decrypt(self, k, a, iv, e, t):
          
          cipher = Cipher(algorithms.AES(k), modes.GCM(iv, t),
                          backend=self.backend)
          decryptor = cipher.decryptor()
          decryptor.authenticate_additional_data(a)
          return decryptor.update(e) + decryptor.finalize()
docs: Decrypt accoriding to the selected encryption and hashing
          functions.
          :param k: Encryption key (optional)
          :param a: Additional Authenticated Data
          :param iv: Initialization Vector
          :param e: Ciphertext
          :param t: Authentication Tag
  
          Returns plaintext or raises an error