private static function decryptWithPHP71($K, $key_length, $IV, $C, $A, $T)
    {
        $mode = 'aes-'.($key_length).'-gcm';
        $P = openssl_decrypt(null === $C ? '' : $C, $mode, $K, OPENSSL_RAW_DATA, $IV, $T, null === $A ? '' : $A);
        Assertion::true(false !== $P, 'Unable to decrypt or to verify the tag.');

        return $P;
    }
private static function decryptWithPHP71($K, $key_length, $IV, $C, $A, $T)
    {
        $mode = 'aes-'.($key_length).'-gcm';
        $P = openssl_decrypt(null === $C ? '' : $C, $mode, $K, OPENSSL_RAW_DATA, $IV, $T, null === $A ? '' : $A);
        Assertion::true(false !== $P, 'Unable to decrypt or to verify the tag.');

        return $P;
    }
@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

@return string