Я также понимаю, что конечной целью злоумышленника является получение ключей, необходимых для расшифровки зашифрованного текста.
На самом деле цель злоумышленника — получить некоторую информацию (которой у него еще не было) об открытом тексте; если он сможет восстановить ключ, это нормально — если он сможет восстановить какую-то другую информацию об открытом тексте (даже если он все еще не знает, что такое ключ), он также выиграет. Рассмотрим сладкий32 атака, которая не дает абсолютно никакой информации о ключе, но получает информацию об открытом тексте.
Эти ингредиенты (зашифрованный текст, открытый текст, доступ к системам) — все, что нужно? Разве злоумышленникам также не нужно знать, какие шифры используются, или эти атаки также позволяют выводить шифры?
Обычно предполагается, что злоумышленник уже знает, какой шифр используется; как упомянул kelalaka в комментарии, принцип Керхгофа заключается в том, что единственная информация, которую можно считать секретной, — это информация, которую легко изменить, например, ключ. Переход, скажем, с AES на ChaCha20 — это гораздо более серьезное изменение, которое трудно сделать на лету.