code: private static function decryptWithCryptoExtension($K, $key_length, $IV, $C, $A, $T, $tag_length = 128)
      {
          $cipher = \Crypto\Cipher::aes(\Crypto\Cipher::MODE_GCM, $key_length);
          $cipher->setTag($T);
          $cipher->setAAD($A);
          $cipher->setTagLength($tag_length / 8);
  
          return $cipher->decrypt($C, $K, $IV);
      }
docs: @param string      $K          Key encryption key
  @param string      $key_length Key length
  @param string      $IV         Initialization vector
  @param string|null $C          Data to encrypt (null for authentication)
  @param string|null $A          Additional Authentication Data
  @param string      $T          Tag
  @param int         $tag_length Tag length
  
  @return string