Suponiendo que tenga una lista de claves públicas de posibles destinatarios y un texto cifrado cifrado con una de esas claves públicas, ¿sería posible determinar cuál clave pública?
Depende de muchas cosas.
Consideremos un mensaje cifrado por OpenPGP, el estándar de cifrado más utilizado. De forma predeterminada, incluye en texto sin formato un campo que contiene la ID de clave a la que se ha cifrado el mensaje. Sin embargo, tenga en cuenta que el estándar OpenPGP permite que este campo esté vacío, es decir, que contenga una ID de clave = 0x0. Entonces, la respuesta correcta a su pregunta es "Depende, si tiene un texto cifrado cifrado con OpenPGP podría ser posible averiguar los destinatarios".
La única forma de hacer coincidir un texto cifrado con el par de claves con el que se usa sería poseer la clave privada y descifrar el mensaje con éxito. Aparte de esto, no hay ningún signo que indique a qué clave pública se ha utilizado, ya que cualquier mensaje podría haberse utilizado para el cifrado.
Aunque, el protocolo podría decirte. Por ejemplo, el protocolo OpenPGP utiliza el paquete para identificar las claves con las que se debe usar un mensaje. O generalmente, el mensaje se envía al destinatario por correo, por lo que la clave debe ser la clave para esta persona.
Lea otras preguntas en las etiquetas public-key-infrastructure cryptography encryption