Я не могу комментировать AES, но несколько стандартов шифрования (на ум приходит PGP) допускают общий заголовок или будут иметь общий атрибут (например, блок подписи или открытый ключ).
Ваш план проверки на XML будет в порядке, просто передайте его через анализатор XML. Однако это говорит только о том, является ли файл XML, а не о том, зашифрован ли он.
Как бы вы отличали простой текст от зашифрованного файла? Все просто текст, не так ли?
Какую реализацию aes вы используете? Какие библиотеки вы используете?
Зашифрованные файлы просто зашифрованы или они также закодированы в base64? Как эти файлы хранятся в файловой системе? Написано напрямую или через другой механизм?
На основании комментария к вопросу от @rosco, есть ли какая-либо причина, по которой файл не может быть расшифрован, чтобы проверить, зашифрован ли он? Это очень большие файлы? Ваше приложение расшифровывает или вы просто посредник? Существуют ли какие-либо ограничения безопасности, которые могут помешать вам расшифровать его?
Можете ли вы установить бизнес-правила? Например, заявить, что заявки будут отклонены, если они не зашифрованы?