¿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.

More Interesting

¿Cómo podemos verificar si un punto (digamos el origen) se encuentra en un casco convexo 6-D (o ND) y qué tan lejos está el punto de cualquiera de los lados (facetas) del casco convexo?

¿Qué es el WordNet? ¿Cuál es la relación entre WordNet y el algoritmo Leacock & Chodorow?

¿Cuáles son algunos problemas del mundo real que podrían resolverse con la programación / codificación?

¿Dónde se utilizan los algoritmos criptográficos en nuestras aplicaciones diarias?

¿Cuáles son algunas situaciones en las que conceptos algorítmicos como la complejidad del código y la programación dinámica dieron como resultado un mejor código en un proyecto de desarrollo real?

¿Cómo puedo escribir un programa para encontrar el MCM de dos enteros positivos de su factorización prima?

Quiero comparar una consulta con varios documentos y asignarles una clasificación. ¿Qué algoritmo necesito usar?

¿Qué algoritmos y estructuras de datos se pueden usar para encontrar anagramas?

¿Las empresas comerciales de algo funcionan mejor que las empresas comerciales que no son algo?

¿Cuándo Quicksort tiene su peor complejidad de tiempo de caso?

¿Qué lenguaje, libro o técnica es el mejor punto de partida cuando estás frustrado con tus habilidades de programación y quieres tener una sólida formación en algoritmos y estructuras de datos?

¿Cuál es el enfoque para encontrar un acuerdo que produzca el salario mínimo?

¿Qué número de puntos cruzados será el mejor para mi algoritmo genético?

Cómo crear un algoritmo

¿Cuál es mi concepto erróneo con respecto al algoritmo de clasificación de fusión aquí?