Tengo la cadena de entrada, también tengo la cadena encriptada. ¿Cómo averiguo qué algoritmo de cifrado se utilizó?

Los algoritmos de cifrado utilizan básicamente algo que se llama clave. El algoritmo está disponible en el dominio público, pero la clave sigue siendo privada. Cualquier buen algoritmo de cifrado debe tomar los datos secretos como entrada y convertirlos en algo que parezca aleatorio. La matemática en la que funcionan estos algoritmos garantiza que, incluso con suficientes datos cifrados, el problema es NP difícil.

Entonces, básicamente, cualquier cadena encriptada que esté buscando debe verse como una cadena generada aleatoriamente. Si puede encontrar algo sobre cuál es el mensaje original o qué métodos se usaron para generar esa cadena pseudoaleatoria, significa que el algoritmo falló.

Así que finalmente no, no se puede encontrar qué algoritmo de cifrado se usó porque el problema es NP difícil.

Pero aún así, he hecho un poco de criptografía básica y no soy un experto, espera mejores respuestas.

No hay un método adecuado para saber qué algoritmo de cifrado se usó incluso si tiene la cadena de entrada. Tendrá que aplicar todos los algoritmos en su lista y verificar el resultado. Si la cadena de salida coincide con la cadena encriptada, entonces tiene su respuesta; de lo contrario, intente con otro algo.

Es ninguno. Se supone que el cifrado parece aleatorio, ya que regalar el algoritmo sería malo y, por lo tanto, se rechazaría su uso.

More Interesting

Cómo mejorar la lógica o la presentación de la conjetura descrita en una respuesta para que más personas puedan entender lo que creo que es un método sorprendente para crear algorítmicamente un conjunto primo potencialmente infinito

Cómo entender algoritmos complejos de aprendizaje automático

¿Por qué algunos algoritmos son más eficientes que otros? ¿Por qué se prefiere la búsqueda binaria sobre la lineal?

¿Cuáles son los 100 deben resolver preguntas de SPOJ?

¿Cuál es el algoritmo para imprimir el alfabeto 'A' como patrón?

¿De dónde obtienen los fondos de cobertura sus datos en tiempo real para algoritmos?

Si uno es un desarrollador JS (comprende algoritmos, estructuras de datos, patrones), ¿qué tan difícil sería cambiar al desarrollo Java o C ++?

¿Cómo funciona el algoritmo de comprobación de cuentas falsas de Facebook?

¿Podemos tener un árbol binario cuyo recorrido posterior y posterior sea el mismo?

¿Cuál es la razón por la cual las compañías gigantes (por ejemplo, Google o Microsoft) hacen preguntas típicas como el árbol de búsqueda binario o el algoritmo tradicional o preguntas como la complejidad del algoritmo? ¿Cuál es el propósito? La mayoría de ellos no se usan en la vida real.

¿Encontrar XOR de pares ordenados en una matriz que está incluso con O (n)?

¿Cómo agrupa Google News las historias?

¿Cuál es el algoritmo de programación monotónico de velocidad en los sistemas operativos?

¿Siempre es bueno tener una solución recursiva que una solución iterativa?

¿Cuál es una explicación intuitiva del algoritmo de optimización de aprendizaje profundo de Adam?