¿Cuál es la forma correcta de fusionar dos algoritmos de cifrado simples, sin causar un problema de cifrado?

No hay uno La fusión de algoritmos criptográficos de cualquier tipo le brinda muy poca seguridad adicional en el mejor de los casos, y posiblemente podría producir resultados mucho peores que si los usara individualmente.

En particular, si está comenzando con dos algoritmos de cifrado simples (leer: débiles ), combinarlos de cualquier manera podría resultar en texto criptográfico que es ridículamente fácil de analizar.

Si se toma en serio la protección de sus datos, simplemente elija una implementación de cifrado sólida. AES-256 está ampliamente disponible, por lo que no debería tener que volver a implementarlo usted mismo (eso es un GRAN NO-NO en la práctica de criptografía).


Dicho esto, hay momentos en que tiene sentido usar múltiples algoritmos en una sola aplicación. Describo un escenario de este tipo para la transferencia segura de documentos en la respuesta de Adrian Ho a ¿Cuál es la diferencia entre los cifrados de bits SHA-256, AES-256 y RSA-2048?

Lo importante a tener en cuenta es que no combino los algoritmos de ninguna manera . Simplemente los uso por separado, para diferentes propósitos y en diferentes partes de los datos generales.

No desea intentar fusionarlos en un solo algoritmo. La historia muestra que dicho resultado es más débil que el original porque normalmente hay errores en la implementación. Si la salida de uno se convierte en la entrada del siguiente, los está encadenando en serie, lo que mantiene la fuerza independiente de cada uno y PUEDE aumentar la fuerza general.

Si está pensando en tratar de fusionar los dos algoritmos en uno solo, eso generalmente resulta en una menor fuerza. Es por eso que los nuevos algoritmos no son simplemente una fusión de los anteriores.

La forma más fácil de “fusionarlos” sería aplicarlos uno tras otro. Lo bueno de tal cadena de algoritmo criptográfico es que es al menos tan fuerte como su miembro más fuerte, al contrario de las cadenas físicas reales.

More Interesting

¿Cómo determino la complejidad temporal de una expresión matemática que involucra potencias, divisiones y exponenciales? Sé la complejidad temporal de las operaciones simples, pero no sé cómo se supone que las combino para encontrar la respuesta.

¿Cuál es el mejor enfoque para mí para aprender algoritmos y estructuras de datos?

¿Dónde puedo encontrar el código fuente de los algoritmos de Data Science?

¿Qué estrategia emplearías para vencer a un algoritmo de computadora jugando póquer matemáticamente perfecto?

Los números ny (n + 2) son dos números que difieren en 2. ¿Cuál es el valor medio de estos dos números?

¿Es mejor representar aristas en un gráfico que sale de un vértice como miembros de una matriz dinámica o una lista vinculada?

¿Qué temas de algoritmos deberían cubrirse para convertirse en un buen programador?

Noruega: ¿Cómo funciona BankID?

¿Por qué la agrupación aleatoria al iterar sobre ella y cambiarla por un elemento aleatorio entre 0 y el último elemento de la matriz no produce una barajadura distribuida uniformemente?

¿Cuál es un buen algoritmo de hash para identificar de forma exclusiva una URL en una base de datos?

¿Qué programas pueden determinar las instrucciones de plegado de origami para una forma tridimensional dada?

¿Por qué es importante el análisis de algoritmos?

¿Por qué son buenos los algoritmos de código abierto?

¿Qué depara el futuro para los algoritmos genéticos y qué tan relevantes serán en 20 años?

Lenguaje ensamblador: ¿Por qué las instrucciones INC y DEC no establecen la bandera de acarreo?