¿Qué tan importante es para el hombre en el medio saber la técnica de cifrado?

La definición de un buen algoritmo de cifrado incluye “toda la seguridad depende única y exclusivamente de la clave”. Si el conocimiento del algoritmo ayuda, la única razón para esto puede ser que el algoritmo está roto: la definición de “roto criptográficamente” es “hay una manera de explotar la estructura en el algoritmo para descifrar un mensaje con menos cómputo que simplemente intentar con las teclas uno después de otro”.

Ahora, por supuesto, si conocen la clave o quieren intentar forzarla por fuerza bruta, necesitarán saber qué algoritmo usar.

En teoría, es imposible determinar el algoritmo utilizado a partir del texto cifrado.

En la práctica, es posible intentar adivinar por el tamaño y las propiedades de los datos (no hay demasiados algoritmos populares), y la mayoría de los servicios como HTTPS incluyen mensajes de negociación de algoritmos, por razones de compatibilidad (para que los servidores y los clientes puedan calcular para saber cuál es el mejor algoritmo que ambos admiten, ya que no se puede saber qué programa se escribe cuando).

En general, si necesita clientes arbitrarios para poder hablar con servidores arbitrarios, tendrá que haber algún método conocido de comunicación, y esto incluirá el algoritmo de cifrado utilizado. Pero, suponiendo que no esté utilizando algoritmos rotos (según la definición anterior), esto no debería ser un problema.