Криптоаналитики надеются иметь известный шифротекст и открытый текст. Ключ, который расшифровывает этот шифротекст до этого открытого текста, безусловно, является правильным ключом.
Без известного открытого текста должен быть известен формат данных. Например, открытый текст HTML содержит теги. Текст телефонного справочника содержит номера телефонов. И так далее.
Это зависит от метода шифрования. Например, при шифровании RSA, если вы ищете закрытый ключ, вы знаете, что нашли его, когда открытый ключ кратен рассматриваемому числу.
Это зависит от алгоритма. Для многих алгоритмов существует только один правильный ключ для расшифровки. Когда у вас есть ключ, вы можете легко проверить, что это правильный ключ за полиномиальное время.
Однако в некоторых алгоритмах невозможно узнать, когда у вас есть правильный ключ. Все простые тексты (правильной длины) могут дать выход. Примером такой схемы является одноразовый блокнот с XOR-шифрованием. Однако при повторном использовании одноразового блокнота шифротексты могут быть перешифрованы друг с другом, чтобы удалить ключ, а затем два сообщения открытого текста могут быть извлечены с помощью таких методов, как частотный анализ, чтобы определить, что это за данные и какова наиболее вероятная расшифровка.